
Docker入門 — コンテナ開発の基礎
解説で理解を深める
Dockerの問題一覧
該当件数39件
イメージ
4問Debian系ベースイメージでapt-get installを使ったら、イメージサイズが大きくなりました。DockerfileのRUNで意識すべき書き方はどれですか?
ローカルで作ったイメージをDocker Hubやレジストリへpushしたいですが、リポジトリ名が合わず失敗します。push前に行うべき操作として適切なのはどれですか?
Dockerfileの前半にあるRUN命令を変更したら、その後ろの命令もまとめて再実行されました。Dockerのビルドキャッシュの理解として正しいものはどれですか?
Node.jsの本番イメージを軽くしたい一方で、ネイティブ依存パッケージのビルド失敗は避けたいです。ベースイメージ選択の考え方として最も適切なのはどれですか?
コンテナ
5問起動中のwebコンテナに入って、設定ファイルや環境変数を確認したいです。既存コンテナ内でシェルを開く操作として最も適切なのはどれですか?
コンテナの直近ログだけを見ながら、新しいログもリアルタイムで追いたいです。操作として最も適切なのはどれですか?
動いているコンテナの環境変数、マウント、ネットワーク設定などをJSONで確認したいです。最も適切なコマンドはどれですか?
コンテナ内のアプリが3000番で待ち受けています。ホストPCの8080番でアクセスできるようにするdocker runのポート指定はどれですか?
ローカルで編集したソースコードを、コンテナ内の開発サーバーへすぐ反映したいです。開発用途として適切なのはどれですか?
Dockerfile
6問Dockerfileでアプリを /app に配置したいのに、RUN npm install が想定外のディレクトリで実行されて失敗しました。作業ディレクトリを安定させるために最も適切なのはどれですか?
Node.jsアプリのDockerビルドで、ソースコードを1行変えるだけで毎回npm installが最初から走って遅くなります。キャッシュを効きやすくするDockerfileの書き方はどれですか?
DockerfileにEXPOSE 3000を書いたのに、ブラウザから http://localhost:3000 にアクセスできません。原因として最も適切なのはどれですか?
本番用コンテナでNode.jsアプリをrootユーザーのまま実行していることをレビューで指摘されました。Dockerfileで改善する方針として最も適切なのはどれですか?
Debian系ベースイメージでapt-get installを使ったら、イメージサイズが大きくなりました。DockerfileのRUNで意識すべき書き方はどれですか?
Node.jsの本番イメージを軽くしたい一方で、ネイティブ依存パッケージのビルド失敗は避けたいです。ベースイメージ選択の考え方として最も適切なのはどれですか?
Docker Compose
5問docker composeで複数サービスに共通の環境変数を渡したいです。ただしcompose.yamlに値を直接ベタ書きしたくありません。よく使われる方法はどれですか?
Composeでappがdbにdepends_onしているのに、起動直後にアプリがDB接続エラーになります。原因の理解として最も適切なのはどれですか?
Composeでwebコンテナからdbコンテナへ接続したいです。同じComposeネットワーク上で接続先ホスト名として使うのに適切なのはどれですか?
通常開発では起動しないが、必要なときだけadminerやmailhogのような補助サービスをComposeで起動したいです。適切な設定はどれですか?
Composeでローカルのソースをコンテナへbind mountしたら、イメージ内でnpm installしたnode_modulesが見えなくなりました。よくある原因はどれですか?
ボリューム
3問ネットワーク
4問DockerfileにEXPOSE 3000を書いたのに、ブラウザから http://localhost:3000 にアクセスできません。原因として最も適切なのはどれですか?
Composeでwebコンテナからdbコンテナへ接続したいです。同じComposeネットワーク上で接続先ホスト名として使うのに適切なのはどれですか?
コンテナ内のアプリが3000番で待ち受けています。ホストPCの8080番でアクセスできるようにするdocker runのポート指定はどれですか?
手動で起動したappコンテナとdbコンテナを、コンテナ名で安定して通信させたいです。最も適切な方法はどれですか?
build
4問その他
17問Dockerコマンド実行時に「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」というエラーが発生しました。最も一般的な対処法は?
docker compose upを実行したところ「Bind for 0.0.0.0:3000 failed: port is already allocated」というエラーが出た。この状況の説明として正しいものはどれか。
Dockerfileのビルド時に「COPY failed: file not found in build context」というエラーが発生しました。原因として正しいものは?
Dockerで「no space left on device」というエラーが発生しました。ディスク容量を回復するための最も効果的なコマンドは?
Dockerコンテナが「exited with code 137」で突然停止しました。最も疑わしい原因は?
Dockerのマルチステージビルドの主な目的は?
「docker-compose」コマンドと「docker compose」コマンドの違いは?
Dockerfileと同じディレクトリに.dockerignoreファイルを配置する主な目的は?
DockerfileのENTRYPOINTとCMDの違いについて正しいものは?
Dockerでボリュームマウントしたディレクトリに書き込もうとしたところ「Permission denied」が発生しました。原因として正しいものは?
WSL 2環境で、特定のディストリビューションだけに4GBのメモリ上限を設定したい。正しい方法はどれですか?
.wslconfigについての説明として正しいものはどれですか?
WSL 2でUbuntuをインストールしようとしたところ「WslRegisterDistribution failed with error: 0x80370102」というエラーが表示されました。このエラーの原因として最も適切なものはどれですか?
WSLでディストリビューションを起動しようとしたところ「WslRegisterDistribution failed with error: 0x8007019e」が表示されました。この状況を解消する方法として正しいものはどれですか?
WSLのセットアップ後、ターミナルでwslコマンドを実行したところ「Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND」と表示されました。wsl --install実行時には「Ubuntu is already installed」と表示されます。この問題の原因として最も適切なものはどれですか?
VS Code で WSL に接続した際に「VS Code Server for WSL closed unexpectedly」エラーが発生し、~/.vscode-server ディレクトリを削除してから再接続すると解消された。この対処法が有効である根本的な理由として、最も適切なものはどれか。
Dockerイメージとコンテナの関係として正しいのは?
Dockerとは
Dockerは、コンテナ型仮想化技術を提供するオープンソースプラットフォームです。アプリケーションとその依存関係をコンテナとしてパッケージ化し、どの環境でも同一の動作を保証します。Dockerfile によるイメージのビルド、Docker Compose による複数コンテナの管理、ボリュームやネットワークの制御など、モダンな開発・デプロイワークフローに不可欠な技術です。
なぜDockerを学ぶべきか
Dockerはローカル開発環境の統一、CI/CDパイプライン、本番デプロイなど、ソフトウェア開発のあらゆる段階で活用されています。「自分の環境では動くのに…」という問題を解消し、チーム開発の効率を大幅に向上させます。Kubernetes などのコンテナオーケストレーションの前提知識としても必須です。
出題トピック
イメージとコンテナ
Dockerイメージの仕組み、レイヤー構造、コンテナのライフサイクル(作成・起動・停止・削除)、docker run のオプションについて出題します。
Dockerfile
FROM・COPY・RUN・CMD・ENTRYPOINTなどの命令、マルチステージビルド、レイヤーキャッシュの最適化、.dockerignore の活用を扱います。
Docker Compose
docker-compose.yml の構成、サービス定義、依存関係(depends_on)、環境変数、ネットワーク設定など複数コンテナの管理を問います。
ボリュームとネットワーク
データの永続化(ボリュームマウント・バインドマウント)、コンテナ間通信、ブリッジネットワーク、ポートマッピングについて出題します。
こんな方におすすめ
- コンテナ技術をこれから学びたい方
- 開発環境の構築を効率化したいエンジニア
- CI/CDやクラウドデプロイの基礎を固めたい方
- Kubernetesの学習前にDocker基礎を押さえたい方