5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでSpringBootの開発環境を構築する

Posted at

背景

今までWindowsを使っていたのですが、今回初めてMacを買いました。良い機会だったので、今までSpringBootで開発していたプロジェクトをDocker環境に移行してみました。そのときの備忘録を残します。

手順

  • プロジェクト用に新規ディレクトリを作成(本記事ではdemoという名で作成)
  • 次に作成したディレクトリ直下にdocker-compose.ymlを作成
    • 今回はJDKとMySQLのみ用意
docker-compose.yml
version: '3'

services:
  app:
    depends_on:
      - mysql
    image: eclipse-temurin:17
    ports: 
      - 8080:8080
    tty: true
    volumes:
      - ./server:/var/www/html/server
    working_dir: /var/www/html/server
  mysql:
    image: mysql:8.0.26
    platform: linux/x86_64
    environment:
      MYSQL_DATABASE: demo_database
      MYSQL_USER: admin
      MYSQL_PASSWORD: admin
    ports:
      - 3306:3306
    volumes:
      - db-data:/var/lib/mysql

volumes:
  db-data:
  • 同ディレクトリで下のコマンドを実行し、コンテナを立ち上げられることを確認
docker compose up -d
  • docker-compose.ymlと同じディレクトリにserverというディレクトリを新規作成
  • こちらのページからSpringBootの中身をインストール
    • ビルドツール: Gradle
    • バージョン
      • Spring Boot: 3.1.2
      • Java: 17
    • 圧縮後の拡張子: Jar
    • 依存関係には以下のものを追加
      • Spring Boot DevTools
      • Lombok
      • Spring Web
      • Spring Data JPA
      • MySQL Driver
  • 「GENERATE」ボタンを押してインストールされるzipファイルの中身を、先ほどのserverディレクトリ内にコピーする
  • src/main/resources/application.propertiesに以下を追加
application.properties
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://mysql:3306/demo_database
spring.datasource.username=admin
spring.datasource.password=admin
  • 同ディレクトリで下のコマンドを実行し、コンテナの中に入る
docker compose exec app bash
  • 下のコマンドを実行してテストビルドを行い、ビルドが成功することを確認
./gradlew build

課題

  • application.propertiesを環境変数を用いて設定したい

参考

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?