Docker・コンテナツール
コンテナ作業は細かく同じ形で壊れます。他のサービスがすでに使っているポートを指定したdocker-compose.yml、手で書いたマウント指定のdocker runコマンド、宣言していないビルド引数を参照するDockerfileのステージ。これらのツールはdocker buildを実行してログを掘り返す前に、この種のミスを見つけます。
それぞれが実際に書くファイルやコマンドに対応します。Docker Composeワークベンチは既存のYAMLをポート競合や依存関係の問題について確認し、docker runコマンドは逆にポート・マウント・環境変数からコマンドを組み立てます。Dockerfileリンターは行単位の診断を加え、Dockerイメージ名解析はイメージ名を4つの部分に分解します。
4個のツール
Docker & Containersツールに関するFAQ
同じCompose file内の2つのサービス、またはサービスとホスト上ですでに動いている何かが、同じホストポートにマッピングされています。Docker Composeワークベンチはファイルを読み込み、docker compose upを実行する前にポートの競合や依存関係の順序の問題を指摘します。
イメージ名にはレジストリのホスト、リポジトリのパス、タグ、そして@sha256のダイジェストが同時に含まれることがあり、両方指定されていれば常にダイジェストが優先されます。Dockerイメージ名解析はイメージ名をこの4つの部分に分解し、pullが実際にどのイメージに解決されるかを示します。
ARGはビルド中だけ使え最終イメージには残らず、ENVはコンテナの実行時まで保持されます。Dockerfileリンターはマルチステージのdockerfileを行単位でチェックするので、実行時に必要なENVの代わりにビルド用のARGを使ってしまうようなミスを見つけやすくなります。