Docker + Kotlin で Hello, World
前回作成した kotlin
がインストールされた Docker イメージを使って Hello, World を表示するまでの手順メモ
検証環境
Windows10 Home Edition VirtualBox 5.2.16 docker-machine version 0.14.0, build 89b8332 docker-compose version 1.20.1, build 5d8c71b Kotlin 1.2.61 Gradle 4.10
Docker イメージの作成について
こちらの記事の手順で作成する takaya030.hatenablog.com
ディレクトリ構成
hello
は空のフォルダ
kotdev | +---base.Dockerfile +---docker-compose.yml +---hello
各種設定ファイル
base.Dockerfile
前回作成したものから変更はない
docker-compose.yml
前回作成したものに最後2行が追加されている
version: "2" services: base: build: context: . dockerfile: base.Dockerfile manage: image: kotdev_base hostname: kotdev-manage ports: - "2122:22" command: /usr/sbin/sshd -D volumes: - ./hello:/home/docker/hello
イメージのビルド
$ cd kotdev
$ docker-compose build base
コンテナの起動
$ docker-compose up -d
コンテナへログイン
ユーザー名 docker
、パスワード tcuser
、ポート番号 2122
でログイン
$ ssh docker@192.168.99.100 -p 2122
Gradle プロジェクトの作成
ログインしたコンテナ上で下記コマンドを実行
$ cd hello
$ gradle init
build.gradle
を下記内容に編集する
/* * This file was generated by the Gradle 'init' task. * * This is a general purpose Gradle build. * Learn how to create Gradle builds at https://guides.gradle.org/creating-new-gradle-builds/ */ plugins { id "org.jetbrains.kotlin.jvm" version "1.2.61" } apply plugin: 'application' mainClassName = 'code.example.HelloWorldKt' repositories { jcenter() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8" }
ソースファイルの作成
$ mkdir -p src/main/kotlin/code/example $ touch src/main/kotlin/code/example/HelloWorld.kt
HelloWorld.kt
を下記内容に編集する
package code.example fun main(args: Array<String>) { println("Hello World!!") }
ビルドと実行
ビルド
$ ./gradlew build $ ./gradlew
実行
$ ./gradlew run > Task :run Hello World!! BUILD SUCCESSFUL in 0s 2 actionable tasks: 1 executed, 1 up-to-date