コラム

[Docker]SpringBootのDockerイメージ作成②

前回作成したSpringBootアプリをdockerのコンテナのイメージにしていきます。

Docker用設定ファイル作成

docker-sample\account内にDockerfileを作成します。

FROM openjdk:11-jdk-slim
ADD target/account-*.jar account.jar

ENTRYPOINT ["java", "-jar", "/account.jar", "${OPTS_ARGS}"]

今回はopenjdk:11-jdk-slimイメージを指定します。

docker-compose.ymlに以下を追記します。

  account:
    image: account
    container_name: account
    build:
      context: ./account
      dockerfile: Dockerfile
    ports:
      - "9002:9002"
    depends_on:
      - db
    environment:
      - CONTAINER_NAME=account
      - PORT=9002
      - DB_USER=${DB_USER:-postgres}
      - DB_PASSWD=${DB_PASSWORD:-postgres}
      - DB_URL=${DB_URL:-r2dbc:postgresql://db:5432/db}
    networks:
      - default

imageはapplication.ymlのapplicationのnameと同じものを記述します。
(container_nameは任意)

SpringBootアプリをビルドしてjarファイル作成

Powershellを起動後、docker-sample\accountディレクトリに移動後以下のコマンドを実行します。
「./mvnw clean package」

SpringBootアプリイメージ作成

※postgresやadminerは既にビルドされたイメージをリモートから取得してるので、この工程は必要ありません。

docker-sampleディレクトリで以下のコマンド実行します。
「docker-compose build account」

イメージが正常に出来たか、以下のコマンドで確認できます。
「docker images」

イメージ一覧

コンテナ作成

docker-sampleディレクトリで以下のコマンド実行します。
「docker-compose up -d」

Docker Desktopは上記の用になっているはずです。

http://localhost:9002/account にアクセスしてみましょう。

画像に alt 属性が指定されていません。ファイル名: image-17.png

上記の用にJSONデータが表示されたら正常に設定完了です。

以上、SpringBootアプリをDockerイメージ化し起動する手順の紹介でした。
今回使用したソース設定ファイル等は、此方から取得できます。

この記事をシェアする
  • Facebookアイコン
  • Twitterアイコン
  • LINEアイコン

お問い合わせ ITに関するお悩み不安が少しでもありましたら、
ぜひお気軽にお問い合わせください

お客様のお悩みや不安、課題などを丁寧に、そして誠実にお伺いいたします。

お問い合わせはこちら
お電話でのお問い合わせ 03-5820-1777(平日10:00〜18:00)
よくあるご質問