0
1

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-compose.ymlの中身の詳細

Last updated at Posted at 2022-04-20

Docker-compose.ymlの中身の詳細

Docker-compose.yml
version: '3'
#dbとwebのサービスを定義
services:
  db:  #msql
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password #認証形式の設定8.0から
    volumes:
      - ./src/db/mysql_data:/var/lib/mysql  #./src/db/mysql_data(ローカル)を/var/lib/mysql(docker)側に共有する設定(コンテナを作り直すたびにデータが消えてしまうが、これを設定しておけばローカルのデータを持ってこれる)
    environment:
      MYSQL_ROOT_PASSWORD: password #(環境変数でパスワードを指定)
  web: #rails
    build: . #ベースのイメージとしてDocker fileを参照する設定
    command: bundle exec rails s -p 3000 -b '0.0.0.0' #rails サーバーを起動
    volumes:
      - ./src:/app #./src(ローカル)内を/app(Docker)側に共有する
    ports:
      - "3000:3000" #ローカルの3000ポートをDockerの3000ポートに接続
    depends_on: #webはdbサービスに依存しているという設定
      - db

Docker-compose.ymlを作成したのでその中身の説明をメモしておく

Docker-compose.yml
services:
  db: 
  web:

services:は今回のDocker-compose.ymlの大枠として
今回は db:とweb: の二つのサービスを入れた。
このdb:とweb:に設定を入れていく

db:

    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./src/db/mysql_data:/var/lib/mysql 

./src/db/mysql_data(ローカル) を /var/lib/mysql(docker)側に共有する設定(コンテナを作り直すたびにデータが消えてしまうが、これを設定しておけばローカルのデータを持ってこれる)

    environment:
      MYSQL_ROOT_PASSWORD: password 

環境変数でパスワードを指定

web:

    build: . 

ベースのイメージとしてDockerfileを参照する設定

    command: bundle exec rails s -p 3000 -b '0.0.0.0'

rails サーバーを起動

    volumes:
      - ./src:/app 

./src(ローカル)内を/app(Docker)側に共有する

    ports:
      - "3000:3000" 

ローカルの3000ポートをDockerの3000ポートに接続

    depends_on: 
      - db

webはdbサービスに依存しているという設定

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?