docker-compose
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
docker-compose [2021/05/26 06:57] – nullpon | docker-compose [2024/12/13 13:37] (現在) – nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
< | < | ||
# docker-compose | # docker-compose | ||
+ | |||
+ | ## compose | ||
+ | |||
+ | `docker-compose`というコマンドは廃止され、dockerのサブコマンドとなりました | ||
+ | |||
+ | ``` | ||
+ | docker compose up | ||
+ | ``` | ||
+ | |||
+ | 以下`docker-compose`コマンドは`docker compose`に読み替える | ||
+ | |||
## サブコマンド | ## サブコマンド | ||
行 27: | 行 38: | ||
環境変数でcomposeファイルを指定 | 環境変数でcomposeファイルを指定 | ||
- | COMPOSE_FILE=path/ | + | |
docker-compose up | docker-compose up | ||
+ | |||
+ | 起動中のコンテナにアタッチ | ||
+ | |||
+ | docker-compose exec サービス名 コマンド | ||
行 137: | 行 152: | ||
## ログの確認 | ## ログの確認 | ||
- | ``` | + | ```sh |
- | docker-compose logs < | + | docker compose logs < |
``` | ``` | ||
行 144: | 行 159: | ||
``` | ``` | ||
- | docker-compose logs --tail 10 < | + | docker compose logs --tail 10 < |
``` | ``` | ||
- | あまり便利ではないので、dockerコマンドで見た方がいいかもしれない | + | 30分前、2時間前、2023-09-01 00:00:00 UTCからのログを見る |
- | ## run | + | ``` |
+ | docker compose logs --since 30m < | ||
+ | docker compose logs --since 2h < | ||
- | ### 疑似端末について | + | docker compose logs --since 2023-09-01T00: |
+ | ``` | ||
- | `docker-compose run`コマンドは`docker | + | ログを開きっぱなしにする |
+ | |||
+ | ``` | ||
+ | docker | ||
+ | ``` | ||
+ | |||
+ | ログの時刻を表示する(ログ自身に時刻が表示されてない場合に便利) | ||
+ | |||
+ | ``` | ||
+ | docker | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ## 疑似端末 | ||
+ | |||
+ | `docker-compose`の`run`や`exec`コマンドは`docker`コマンドとは逆にデフォルトで疑似端末が割り当てられる(`docker run -t`相当) | ||
cronから起動する場合など、疑似端末を割り当てずにdocker-compose runを実行したい場合は -T オプションをつける | cronから起動する場合など、疑似端末を割り当てずにdocker-compose runを実行したい場合は -T オプションをつける | ||
行 160: | 行 194: | ||
docker-compose run -T hogehoge | docker-compose run -T hogehoge | ||
``` | ``` | ||
+ | |||
+ | docker-composeで起動しているnginxのreloadをcronで実行したい場合などに必要 | ||
+ | |||
+ | ``` | ||
+ | docker-compose exec -T < | ||
+ | ``` | ||
+ | |||
+ | ## compose.override.yaml | ||
+ | |||
+ | `compose.override.yaml` というファイルを作成すると、compose.yamlの内容を上書きする。自分の環境だけで挙動を変えたい場合に使用すると良い。 | ||
+ | |||
+ | |||
+ | こんなcompose.yamlがある時・・・ | ||
+ | |||
+ | ```yaml | ||
+ | services: | ||
+ | nginx: | ||
+ | image: nginx: | ||
+ | restart: always | ||
+ | ports: | ||
+ | - " | ||
+ | - " | ||
+ | volumnes: | ||
+ | - ./ | ||
+ | - ./ | ||
+ | ``` | ||
+ | |||
+ | 以下のような`compose.override.yaml`を作成する | ||
+ | |||
+ | ```yaml | ||
+ | services: | ||
+ | nginx: | ||
+ | restart: " | ||
+ | volumes: | ||
+ | - ./ | ||
+ | ports: | ||
+ | - " | ||
+ | - " | ||
+ | ``` | ||
+ | |||
+ | 以下の設定で起動される | ||
+ | |||
+ | ```yaml | ||
+ | services: | ||
+ | nginx: | ||
+ | image: nginx: | ||
+ | restart: no # 上書きされる | ||
+ | ports: | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | volumnes: | ||
+ | - ./ | ||
+ | - ./ | ||
+ | ``` | ||
+ | |||
+ | スカラー値は上書きされる、配列値はマージされる(よってportsを完全に上書きすることはできない、ただし、volumesはコンテナ側のパスが同一の値があれば上書きする) | ||
+ | |||
+ | |||
</ | </ |
docker-compose.1622012252.txt.gz · 最終更新: 2021/05/26 06:57 by nullpon