初心者SEのつぶやき

初心者SEのつぶやき

docker-compose.ymlまとめ

やりたいこと

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: