1
1

More than 1 year has passed since last update.

【備忘録】Spring bootのDockerイメージを作成し、Docker上で動かすまでの方法

Last updated at Posted at 2022-07-30

はじめに

Spring bootアプリケーションをコンテナ化したいと思ったときにやったことを備忘録として書き残しておきます。

前提

  • Spring bootアプリケーションは既に作ってあるものとする
  • Dockerの基礎知識がある
  • Docker hubのアカウントを作っている

本題のみにフォーカスした記事にするため、このような形にしています。ご承知ください。(他の方の記事を参照ください)

Spring bootのDockerイメージを作る

方法は2つあります。

  1. Cloud Native Buildpacksを使う
  2. Dockerfileを使う

本記事では1つ目の方法を使います。
コマンドプロンプトを開いて以下の通り進めてください。

cd [アプリ化したいプロジェクトのフォルダのパス]
mvnw spring-boot:build-image -Dspring-boot.build-image.imageName=[docker hubのユーザ名]/[任意のimage名]:[tag]

これだけで簡単にDockerイメージが作れてしまいます。すごいですね...

ちなみにここで私はエラーを吐かれましたが、windowsのシステム環境変数に昔作ったJAVA_HOMEと結び付けていたJavaのバージョンとEclipseで使ってるJavaのバージョンが違っていたのが原因でした。
(mvnwの中身見たらなぜか勝手にJAVA_HOMEのバージョンを使うようにされてた)

Docker上で使う

イメージができているか確認しましょう。この時点ではローカル環境にのみ作られます。

docker images

Docker hubにイメージを登録したいなら以下のコマンドを実行してください。

docker push [Docker hubのユーザ名]/[image名]:[tag]

早速動かしましょう!

docker run -dit --name [コンテナ名] -p 8080:[spring-bootのserver.port] [ユーザ名]/[image名]:[tag]

これでlocalhost:8080で接続できるはずです。
[spring-bootのserver.port]は、特に何もいじっていなければ8080に設定されています。
この数値は、application.propertiesに server.port=ポート番号 を記述することで任意のポート番号に変えれます。
Docker上でSpring bootアプリケーションが待ち受けているポートになるので、他のコンテナのポートと被らないように気を付けましょう。

最後に

Dockerfileの記述から逃れることができるっていうのはCloud Native Buildpacksを使うメリットだと思います。ぜひ使ってみてください。Spring bootはいいぞ。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1