茶の間で読めるITチップス

情報セキュリティ、ITの便利用途など直ぐに役立つ知見を発信してきます!

DockerにGradleとSpringBootの開発環境構築(その1)

少し前の記事(DockerでjavaのWeb環境構築 - ドン底から這い上がる学習記録)でdockerにjavaのWeb環境を作成したので、次はGradleとSpringBootの開発環境構築をする。

この記事の目標

① Docker内でSpring BootをGradleでビルド&実行

② ①で成功したコマンドをDockerfileに追記してdocker run

③ Gradleでビルド&実行ができるか確認

 

Docker内でSpring BootをGradleでビルド&実行

まずは以下のDockerfileを作成

Dockerfile

FROM alpine:3.10
RUN apk update
RUN apk add openjdk8
RUN apk add curl

docker buildを実行したけど、イメージ名が小文字じゃないとだめとエラーが出たので小文字にして実行。

ubuntu:~/environment/sample_java $ docker build -t SpringBoot:1 .
invalid argument "SpringBoot:1" for "-t, --tag" flag: invalid reference format: repository name must be lowercase
See 'docker build --help'.
ubuntu:~/environment/sample_java $ docker build -t springboot:1 .

イメージができていることを確認。

ubuntu:~/environment/sample_java $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot 1 9d36d8bf12cd 4 seconds ago 108MB
alpine 3.10 965ea09ff2eb 2 months ago 5.55MB

springbootという名前でイメージを実行してログイン。

ubuntu:~/environment/sample_java $ sudo docker run -it springboot:1
/ #

コンテナ内でGradleのインストール

/ # wget https://services.gradle.org/distributions/gradle-6.1-rc-1-all.zip
/ # unzip gradle-6.1-rc-1-all.zip
/ # mv gradle-6.1-rc-1 /usr/local/bin/
/ # echo 'export PATH=$PATH:usr/local/bin/gradle-6.1-rc-1/bin' > ~/.profile
/ # source ~/.profile

 gradleコマンドが使えるか確認

/ # gradle -v
------------------------------------------------------------
Gradle 6.1-rc-1
------------------------------------------------------------
Build time: 2019-12-19 21:56:43 UTC
Revision: 091da954cc24262bb056965f70f172e1e587e9ca
Kotlin: 1.3.61
Groovy: 2.5.8
Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM: 1.8.0_222 (IcedTea 25.222-b10)
OS: Linux 4.15.0-1056-aws amd64

環境変数にパスが通っていることを確認したので、作業フォルダ内でjavaプロジェクトを作る。

/ # cd ~/myApp
~/myApp # gradle init --type java-application
/bin/sh: gradle: not found

え!環境変数通したのに・・・なぜかルートしか通らない。

→とりあえず解決できないので、Alpineはサヨナラしてubuntuで作ることにする。

 その2に続く