docker-composeの書き方メモ
とりあえず初心者なりに、用語を調べながらなんとかdocker-composeを理解できそうです。
これからも使うことになるので、メモとして説明を入れながら書いてみました。
version: '3' #docker-composeのバージョン指定 services: #各コンテナの設計を書いていくよ web: #Webコンテナを書いていくよ build: . #buildにはDockerfileに記述したことを元にするという指定 ports: - "3000:3000" #3000のポートが来たら3000のポートのコンテナを使用する command: bundle exec rails s -p 3000 -b '0.0.0.0' #コンテナ起動時に実行されるコマンド、 #-pでリッスンするポート番号の指定(3000)、 #-bで0.0.0.0を指定しているのでコンテナの全てのインターフェイスでリッスンする。 volumes: #ボリュームの指定。パスは相対パス。 - .:/myapp #カレントディレクトリ(ドットで指定)を/myappにバインドマウントアップしている - bundle:/usr/local/bundle #bundleという名前のボリュームを/usr/local/bundleに作成する depends_on: #webが起動する前にdbを起動するようにする。依存関係の定義。 - db db: #DBコンテナを書いていくよ image: mysql:5.7 #イメージにはこれを使うよ environment: #DBの環境変数の設定 MYSQL_ROOT_PASSWORD: "password" #DBのパスワード ports: - '3306:3306' #3006のポートが来たら3006のポートのコンテナを使用する volumes: - mysql_data:/var/lib/mysql #ボリュームの指定 volumes: #こんな感じにトップレベルでボリュームを指定することで、名前のあるボリュームになる。 bundle: mysql_data: