(初心者向け) Docker Composeの使い方・メリット

docker-compose

 

Docker Composeについて、初心者向けに、概念や使い方などのメモ。

 

Docker Compose とは

Docker Composeとは、
docker-composeコマンドを1 回実行するだけで、複数のコンテナを一度に起動したり停止できる仕組みのこと

起動・停止したいコンテナ群の情報は、docker-compose.ymlと言うファイルに記述する。

docker-compose

 

Docker Compose のメリット

Docker Composeを使うメリットは下記のようなものがある。

Docker composeを使うメリット
  1. コマンドを打つ手間がかからない、コマンドを打つミスがない。
  2. docker-compose.ymlファイルがあれば、同じ環境をどこでも作成可能。

 

①コマンドを打つ手間がかからない、コマンドを打つミスがない。

起動するコンテナやオプション情報など全て一つのファイル(docker-compose.yml)に記述してしまうのでdocker runでコンテナを起動するのに比べて、コマンドを打つ手間がかからない。また、打ち間違えによるミスがないと言うメリットがある

 

②docker-conpose.ymlファイルがあれば、同じ環境をどこでも作成可能。

またdocker-compose.ymlファイルが一つの環境の設計書のような役割になるため、違う環境でも、このファイルさえあれば、同様の環境が作成可能となる。

docker-compose-yml

 

Docker Composeの使い方

Docker Composeの使い方の手順は大まかに3つある

  1. docker-composeコマンドをインストールする
  2. docker-compose.ymlを用意する
  3. docker-composeを実行する

 

1. docker-composeコマンドをインストールする

docker-composeコマンドは、その名の通り、Docker Composeを行うためのコマンド
インストールの仕方は色々あるので、各々調べてやって欲しい

 

2. docker-compose.ymlを用意する

次にdocker-compose.ymlファイルを用意する。

冒頭でも紹介したが、docker-compose.ymlファイルには、起動したいコンテナ群の情報を記述する。つまり、いわば環境構築の設計書に相当するファイルである。

version: '3'

services:
  php:
    image: php:7.3-apache
    build: ./
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html
    ports:
      - 8080:80
  mysql:
    image: mysql:5.7
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - MYSQL_USER=test
      - MYSQL_PASSWORD=test
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=mysql
      - PMA_USER=test
      - PMA_PASSWORD=test
    links:
      - mysql
    ports:
      - 4040:80
    volumes:
      - ./phpmyadmin/sessions:/sessions

 

書き方の詳細は割愛するが、
services:直下に、php:や、mysql:など書いてある単位で区切って、
各コンテナの情報を記述していくのが分かる。

 

3. docker-composeを実行する

docker-compose.ymlを準備できたら、
docker-compose.ymlを配置しているディレクトリに移動し、
下記docker-composeコマンドを実行する。

docker-compose up -d

 

docker-composeで記述してあるコンテナが全て起動するので、
docker psなどで確認する。

以上がDocker Composeの大まかな流れ

 

Docker Composeまとめ

 

Docker Composeまとめ
  • Docker Composeを使うと、複数のコンテナを一つのコマンドで一括管理できる
  • コンテナの情報は全てdocker-compose.ymlファイルに記述する
  • 複数のコンテナを使う場合はとても楽

 

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。