やりたいこと
docker-compose.ymlの記載方法を整理する。
docker-compose.ymlの書き方
基本は、Dockerコマンドでできることをyml化している。
Dockerコマンドまとめ - 初心者SEのつぶやき
- services
サービス名を記載する。 - image
image情報を記載する。 - volumes
ボリュームを作成する。 - environment
環境変数の設定をする。 - ports
ポート番号を設定する。 - restart
コンテナの自動再起動を設定する。 - build
dockerfileのパスを記載する。 - command
コンテナが起動したときに実行するコマンドを指定する。 - depends_on
サービス間の依存関係を定義する。
設定することによってコンテナ作成順序を操作できる。 - tty
擬似端末をコンテナに結びつけコンテナを持続させる設定をする。 - stdin_open
標準入出力とエラー出力をコンテナに結びつける設定をする。
services: db: image: postgres:15 volumes: - postgres_volume:/var/lib/postgresql/data environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password ports: - 5432:5432 restart: always web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/app ports: - "3000:3000" depends_on: - db tty: true stdin_open: true volumes: postgres_volume: