過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト コンテナ技術の利用 問13

コンテナ技術の利用/コンテナの操作と管理

Docker Composeのcompose.ymlに記述する要素に関する説明として、正しいものをすべて選べ。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「コンテナ技術の利用」に対応。実際の試験問題ではありません)

正解:A、D

解説

exposeは、コンテナが待ち受けるポートを、同じネットワーク上の他のサービス向けに宣言するもので、ホストのポートには公開しません。ホストのポートへ公開するのは ports で、「8080:80」のようにホスト側とコンテナ側のポートを対応付けます。networksを指定しないサービスは、Composeがプロジェクトごとに作る既定のネットワーク(<プロジェクト名>_default)に接続され、サービス名で互いに名前解決して通信できます。env_fileは、指定したファイルから環境変数を読み込んでコンテナに設定するもので、environmentに個別に書く方法と併用できます。

選択肢ごとの解説

  • A正しい。exposeは他のサービス向けにポートを宣言するもので、ホストのポートには公開しません。
  • B誤り。portsはコンテナのポートをホストのポートへ公開するための指定です。ホストに公開しない宣言はexposeです。
  • C誤り。networksを指定しないサービスは、プロジェクトの既定のネットワークに接続され、他のサービスと通信できます。
  • D正しい。env_fileで指定したファイルの内容が、そのサービスのコンテナの環境変数として設定されます。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く