gradleのDockerプラグインを使って事前に準備しているDockerFileからイメージを作りたい。基本的には上記の通りにやったらできました。
ディテクトリ構成はこんな感じです
... ├── build.gradle ├── docker │ ├── centos │ │ ├── Dockerfile <- これを元にイメージを作ります。 │ │ └── sql │ │ ├── 1_create_database_and_user.sh │ │ └── 2_create_db_objects.sh │ └── debian │ ├── Dockerfile │ └── docker-entrypoint.sh ├── gradle │ ├── docker.gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ...
... apply from: 'gradle/docker.gradle' ...
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-docker-plugin:3.2.4'
}
}
// use fully qualified class name
apply plugin: com.bmuschko.gradle.docker.DockerRemoteApiPlugin
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
task buildImage(type: DockerBuildImage) {
// Input directory containing the build context.
inputDir = project.file('docker/centos')
// The Dockerfile to use to build the image.
dockerFile = project.file('docker/centos/Dockerfile')
tag = 'ddd-sample-kotlin/datastore:latest'
}
以下のコマンドでイメージを作れます。
./gradlew buildImage