T-CREATOR

よく使う物だけを抜粋したdocker-composeコマンドの使い方とオプションの一覧まとめ

よく使う物だけを抜粋したdocker-composeコマンドの使い方とオプションの一覧まとめ
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

よく使用するものだけを抜粋したdocker-composeコマンドの一覧まとめをメモしました。

Docker(ドッカー)

Dockerとは

Dockerとは

Dockerとはオープンソースのコンテナ型の仮想化技術のプラットフォームになります。
プラットフォームとしてアプリケーションを作成したり、配布したり、実行したりすることができます。

公式サイト

Docker公式サイト

Dockerのインストール手順

Dockerのインストール手順についてはこちらを参照ください。

Mac に Docker Desktop をインストール

CentOS7へDocker環境を構築

docker コマンド

docker コマンドの使い方についてはこちらを参照ください。

docker コマンドの使い方

環境

  • Mac OS Big SUR 11.3.1
  • docker-compose 1.28.5, build c4eb3a1f

ファイル操作で利用するUnixコマンドについて

基本的なディレクトリ作成やファイル操作はUnixコマンドを利用します。
Unixコマンドについて詳しくはこちらの記事を参考にしてください。

docker-compose(ドッカーコンポーズ)

docker-composeとは?

docker-composeとは複数のDockerコンテナをまとめて立ち上げる機能になります。
docker-compose.ymlファイルを用意しコマンドを実行することで
そのファイルから設定を読み込んですべてのコンテナサービスを起動することができます。

docker-compose.yaml

docker-compose.yamlの例

簡単なdocker-compose.yamlの紹介の例です。

docker-compose.yamlversion: '3'

services:
  app:
    image: node:lts # 利用するイメージの指定をします。
    container_name: "任意のコンテナ名" # コンテナ名を指定します
    volumes:
      - ./src:/src # ホストとゲストのディレクトリを同期します。
    working_dir: "/src" # commandを実行するディレクトリです。
    ports: # ホストとゲストのポートをマッピングします。
      - 8080:8080
    command: sh -c 'yarn && yarn build && yarn start' # コンテナが立ち上がる際に実行するコマンドを指定します。
    restart: always # 再起動時に際立ち上げを実行するかを指定します。

docker-compose コマンド

基本的な使い方

コマンド名→オプション→コマンド→引数の順にコマンドを指定します。

terminal$ docker-compose [-f=<引数>...] [オプション] [コマンド] [引数...]

ヘルプを確認

docker-composeコマンドの使い方に関する情報を確認します。

terminal$ docker-compose -h

docker-compose build

docker-compose.ymlの内容に基づいてイメージを作成します。

terminal$ docker-compose build

一度buildするとキャッシュが制裁されるため
キャッシュを使わないで再度作成する場合は--nocacheオプションを追加します。

terminal$ docker-compose build --nocache

コンテナ名を引数で直接指定できます。

terminal$ docker-compose build app

docker-compose up

docker-compose.yml書かれている設定を元にコンテナを作成、起動します。
依存関係やネットワークなどをよしなに調整してくれます。
Dockerfileを指定して立ち上げる場合は事前にdocker-compose buildでイメージを作成する必要があります。

terminal$ docker-compose up

バックグラウンドで起動する場合は-dオプションを追加します。

terminal$ docker-compose  up -d

コンテナ名を引数で直接指定できます。

terminal$ docker-compose up -d app

docker-compose down

docker-compose.ymlに書かれている設定を元にコンテナを停止します。
またコンテナとネットワークも合わせて削除します。

terminal$ docker-compose down

イメージも合わせて削除します。

terminal$ docker-compose down --rmi all

docker-compose kill

docker-compose.ymlに書かれている設定を元にコンテナを強制停止します。

terminal$ docker-compose kill

docker-compose config

docker-compose.ymlの設定を確認します。

terminal$ docker-compose config

docker-compose logs

docker-compose.ymlで立ち上げたコンテナのログを出力します。

terminal$ docker-compose logs

-fオプションをつけると垂れ流すことができます。

terminal$ docker-compose logs -f

コンテナ名を引数で直接指定できます。

terminal$ docker-compose logs app

docker-compose version

docker-composeのバージョン情報を確認します。

terminal$ docker-compose version

docker-compose コマンドのオプション

docker-compose -f "ファイルのパス"

docker-compose.yamlとは別のファイルを指定してコンテナを起動します。
オプションがない場合は docker-compose.yamlがデフォルトで読み込まれます。

terminal$ docker-compose -f docker-compose.dev.yaml

docker-compose -p "ブロジェクト名"

プロジェクト名を指定してコンテナを起動します。
オプションがない場合はディレクトリ名がデフォルトのプロジェクト名となります。

terminal$ docker-compose -p myproject up 

参考文献

docker-compose コマンド概要

記事Article

もっと見る