本ナレッジでは、複数のDockerコンテナを一元管理できるツールであるDocker Composeについて、始め方としてインストール方法を、使い方として主要コマンド等を記載する。
Docker Composeの概要は別ナレッジにて記載する。
また、Docker Composeを利用するにはDocker自体も当然必要となる。Docker自体の始め方は下記となる。
Sponsored Links
Docker Compose インストール
- 以下のGitHub上にあるDocker Composeのリポジトリのページにアクセスし、最新バージョン等インストールしたいバージョンを確認する。
- 以下のコマンドのバージョン部分(~download/の後ろ)をインストールしたいバージョンに変更して、コマンドを実行。本コマンドにより、Docker Composeがダウンロードされる。
- 以下の例では”1.22.0″のDocker Composeをダウンロードし、”/usr/local/bin/”配下に、”docker-compose”というファイル名で保存している。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- 上記は実行可能なバイナリのため、基本的にダウンロードしたのみで、インストール完了となる。
- このファイルに実行権限を付与する。
$ sudo chmod +x /usr/local/bin/docker-compose
- 以上でインストール完了となるため、Docker Composeが利用可能なことを確認する。
$ docker-compose --version
docker-compose version 1.22.0, build f46880fe
Compose ファイル
Docker Composeを利用するためには、前提としてComposeファイルを作成する必要がある。
ComposeファイルとはYAML形式のファイルであり、Dockerコンテナの設定や起動方法を指示・管理するファイルである。
コマンドを記載する前に、コマンド例実行のために使用するComposeファイルについても記載する。
ComposeファイルとはYAML形式のファイルであり、Dockerコンテナの設定や起動方法を指示・管理するファイルである。
コマンドを記載する前に、コマンド例実行のために使用するComposeファイルについても記載する。
- “docker-compose.yml”という名前でComposeファイルを作成し、下記をコピーして保存する。
- 下記の例はDocker HubからUbuntuとCentOSの最新バージョンイメージをダウンロードし、コンテナ作成、起動、といったことが可能なComposeファイルとなる。
- “depends_on”設定で、CentOSより前に、Ubuntuを起動する設定となっている。
- “restart: always”にて各コンテナがエラーなどで停止した場合、自動再起動する設定となっている。
- ただし、”depends_on”と”restart: always”は連動しない。Docker Composeを利用しての起動時は”depends_on”により起動順は制御されるが、障害等でコンテナが停止し”restart: always”により自動再起動された場合は起動順は考慮されない。
- 下記の例はDocker HubからUbuntuとCentOSの最新バージョンイメージをダウンロードし、コンテナ作成、起動、といったことが可能なComposeファイルとなる。
version: '3'
services:
ubuntu01:
image: ubuntu:latest
restart: always
centos01:
depends_on:
- ubuntu01
image: centos:latest
restart: always
Docker Compose 主要コマンド
以下のDocker Composeコマンドは、”docker-compose.yml”を保存したディレクトリにて実行する。
- 以下のコマンドにて、Docker Composeによりイメージをダウンロード、コンテナを作成、起動する。
- “-d”オプションにより、デタッチモードで起動し、バックグラウンドで起動する。
- 既に対象イメージがある場合はイメージのダウンロードはスキップされ、コンテナ作成から実施される。
- 既にコンテナがある場合はコンテナ作成がスキップされ、コンテナ起動のみ実施される。
$ docker-compose up -d
- Composeファイルはデフォルトではカレントディレクトリの”docker-compose.yml”を利用するが、利用したいYAMLファイル名を指定したい場合は以下コマンドとなる。
- 以下の例では”xxxxxxxxxxx.yml”を指定している。
$ docker-compose -f xxxxxxxxxxx.yml up -d
- 起動後のコンテナへログインしたい場合は、Dockerコマンドにて実施する。
- コンテナを停止する。
$ docker-compose stop
- コンテナを起動する。
$ docker-compose start
- コンテナを再起動する。
$ docker-compose restart
- コンテナの状態を確認する。
$ docker-compose ps
- コンテナを停止して、コンテナ自体を削除する。
$ docker-compose down
- コンテナを停止し、コンテナおよびイメージ自体を削除する。
$ docker-compose down --rmi all
- Docker Volumeを利用している場合、利用しているVloumeを確認する。
$ docker volume ls
- 指定したVolume Name のDocker Volumeを削除する。
- 下記ではVolume NameがxxxxxxxxxxxxのVolumeを削除している。
$ docker volume rm xxxxxxxxxxxx
Sponsored Links