doilux’s tech blog

ITに関する備忘録。 DDP : http://doiluxng.hatenablog.com/entry/2018/01/01/195409

gradleコマンドでDBコンテナを起動する

こんな感じで設定ファイルを書くと、./gradlew startDbContainerでコンテナがバックグラウンド起動します。

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.container.*
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'
}


task createDbContainer(type: DockerCreateContainer, dependsOn: buildImage) {
    targetImageId { buildImage.getImageId() }
    portBindings = ['3306:3306']
    tty = true
}

task startDbContainer(type: DockerStartContainer, dependsOn: createDbContainer) {
    targetContainerId { createDbContainer.getContainerId() }
}