質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

2167閲覧

dockerでの環境構築(myslq)

sanezane

総合スコア91

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2019/01/20 06:20

編集2019/01/20 06:20

spring bootにてwebアプリを開発する上でdockerでmysqlの環境を作成しようと思いました。

以下githubを参考に進めました。
サンプル
サンプルを調べていたところ下図右側のgradleTask?(名前がよくわかりません...)の
spring-boot-doma2-sample
┗spring-boot-doma2-sample
□┗Tasks
□□┗docker
□□□┗composeUp

を実行すると環境が構築されるとありましたので言われるがままにコマンドを実行しました。
データベースの名前とユーザ情報は「docker-compose.yml」に定義されていました。
データベースもテーブルも以下画面下部のように作成できていてその情報はsample-domainプロジェクトにまとめられていました。
イメージ説明

質問したいこと

上図composeUpには色々な命令群が入っていて初期処理(テーブル作成等)を呼び出している?と思うのですが、こちらのcomposeUpの中身はどこに記述されているのでしょうか??

■docker-compose upというコマンドがあり、それをググった際は「"docker-compose up" コマンドを実行してdocker-compose.yml で定義したコンテナを開始します」という内容でしたが、このサンプルプロジェクトのdocker-compose.ymlは上図のようになっておりましてテーブル初期化等の命令は入っていないように見受けられます。
docker-compose upコマンドと上図右側のcomposeUpは全く同じことをしているのでしょうか?

もし、自分でタスクを作成し右側のgradleTaskとして出しているのだとしたらこの中身を参考に自分で環境を作成したいと思っております。
今までdockerを触ったことがないので有識者の方ご教授いただけると幸いでございます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

gradleタスクが定義されているファイルは build.gradleというファイルです。一般的にはプロジェクトフォルダに保存されていてEclipseのgradleタスクに表示されるコマンドはこのファイルの中身を表示していることになります。

したがって、build.gradleを確認していただけるとよいのですがcomposeUpタスクの中に docker-compose コマンドを実行するような記述があるのだと思います。

spring-boot-doma2-sample/build.gradle

groovy

1apply plugin: "docker-compose" 2 3dockerCompose { 4 useComposeFiles = ["docker/docker-compose.yml"] 5}

したがってdockerで自分の環境を構築するのであれば docker-compose.yml ファイルを修正することになります。

データベースの初期設定は以下にあるように flywayというライブラリが行っているようです。

spring-boot-doma2-sample/sample-domain/build.gradle

groovy

1 compile "org.flywaydb:flyway-core"

投稿2019/01/20 12:54

euledge

総合スコア2404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sanezane

2019/01/21 11:22

ありがとうございます。とてもわかりやすかったです。 flyway...データベースのバージョン管理ですか。初めて聞きました。 また1つ2つ勉強になりました。ありがとうございます。
euledge

2019/01/21 11:44

flywayは、リリース後継続的にアップデートあるような開発には向きますがそうでなければ開発中にどうしても必要になるようなものでは無いと思います。個人的な感想ですが
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問