◾️はじめに
少し作業に余裕が出てきて、docker での警告を見てみたら 勉強になったのでメモ。
学べたこと
* Orphan containers(孤立したコンテナ)および「--remove-orphans」オプション * Dockerのプロジェクト名 * 「to avoid potential confusion」って英語表現
目次
【1】WARN「Found orphan containers」が表示 【2】WARN「version is obsolete」が表示
【1】WARN「Found orphan containers」が表示
1)メッセージ内容
WARN[0000]: Found orphan containers (xxx, xxx, xxx, xxx) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
補足:Orphan containers(孤立したコンテナ)
現在のcomposeファイルには記載されていないが、 以前にcomposeで作成されたコンテナを指す cf. orphan(オルフェン) = 孤児
2)原因
composeファイルに記載されていない古いコンテナが残っているため
3)解決案1:docker compose up/downで「--remove-orphans」を付与
* --remove-orphans => Compose ファイルで定義されていないサービス用のコンテナを削除
案1:docker compose up
# docker-compose up --remove-orphans docker compose up --remove-orphans
https://docs.docker.jp/compose/reference/up.html
案1:docker compose down
# docker-compose down --remove-orphans docker compose down --remove-orphans
https://docs.docker.jp/compose/reference/down.html
4)解決案2:別名のプロジェクト名をつける
* 以下のサイトに載っている方法
https://qiita.com/machbike/items/6ea53c721516e9e578e4
別名のプロジェクト名をつける方法
[1] -pオプションを使用 => docker composeコマンドを実行する際に-pまたは--project-nameを使用する [2] 環境変数「COMPOSE_PROJECT_NAME」で設定する 2-1) 環境変数「COMPOSE_PROJECT_NAME=<YOUR_NAME>」を指定 2-2) .envファイルを配置して「COMPOSE_PROJECT_NAME=<YOUR_NAME>」を指定 などなど
https://qiita.com/P-man_Brown/items/cda1837453b149fe5da7
【2】WARN「version is obsolete」が表示
1)メッセージ内容
WARN[0000] /xxxx/compose.yml: `version` is obsolete, it will be ignored, please remove it to avoid potential confusion.
2)原因
compose.ymlにversion:が記載されていたため。 現状不要。
3)解決案
compose.yml内のversion:の記述を削除
関連記事
Docker compose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/05/21/222910
Docker compose ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
Docker によるトラブルシューティング
https://dk521123.hatenablog.com/entry/2017/09/24/162257