3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kotlin > Ktor > DockerでHello world!

Last updated at Posted at 2021-08-07

Web ApplicationをDockerで動作するようにします。
(クラウドでデプロイするのに使えます)

プロジェクトの作成

Ktor Project Generatorで新規プロジェクトを作成します

※ IntelliJでも新規プロジェクトは作れますが、obsolete(廃止)になっているので非推奨です。

Dockerの作成

Dockerfile

ルートフォルダにDockerfileを作成します

Dockerfile
# Use the official gradle image to create a build artifact.
FROM gradle:6.7 as builder

# Copy local code to the container image.
COPY build.gradle.kts .
COPY gradle.properties .
COPY src ./src

# Build a release artifact.
RUN gradle installDist

FROM openjdk:8-jdk
EXPOSE 8080:8080
RUN mkdir /app
COPY --from=builder /home/gradle/build/install/gradle /app/
WORKDIR /app/bin
CMD ["./gradle"]

debug

試しに起動します

docker build -t my-application .
docker run -p 8080:8080 my-application

docker-compose.yml

ルートフォルダにdocker-compose.ymlを作成します

docker-compose.yml
version: '2'
services:
  web:
    build:
      context: ./
      dockerfile: Dockerfile
    ports:
      - 8080:8080

Docker起動

docker-compose up --build

起動後、↓にアクセスすると、Hello World!が表示されました。
http://0.0.0.0:8080/

スクリーンショット 2021-08-07 23.25.42.png

こんなに簡単にDockerで起動できるなんて感動です

ソース

今回のソースは以下に保存してます。

sugasaki/ktor-docker-hello

以下の情報を参考にしました

Docker | Ktor

docs/docs/serving/samples/hello-world/helloworld-kotlin at mkdocs · knative/docs

Docker - クイックスタート - Ktor

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?