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に続く