Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Docker Command Sheet - My Go-To Dev Environment

2025年09月21日に「Dev.to」が公開したITニュース「Docker Command Sheet - My Go-To Dev Environment」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Dockerコマンドの基礎から実践までをまとめたチートシート。SE初心者が開発環境でDockerイメージのビルド、実行、管理、Docker Hub連携をする際に活用できる。ボリュームやネットワークの操作も網羅した、汎用的なリファレンスだ。

ITニュース解説

Dockerは、アプリケーションとその動作に必要なもの全て(コード、ライブラリ、設定ファイルなど)を「コンテナ」と呼ばれる独立した小さな箱にまとめて実行するための技術である。これにより、開発者は自身のPC環境に左右されず、いつでもどこでも同じようにアプリケーションを動かせるようになり、開発環境の構築が簡単になり、チーム開発における環境差異による問題を減らすことが可能になる。この解説では、日常の開発で頻繁に利用されるDockerコマンドをまとめたチートシートの内容に沿って、その使い方と意味を初心者にも分かりやすく説明する。

まず、Dockerの基本的な操作から見ていこう。docker versionコマンドは、現在インストールされているDockerのバージョンを確認するために使う。開発に必要なソフトウェアの「設計図」にあたるイメージを、Docker Hubという公開リポジトリからダウンロードしたい場合は、docker pull <image_name>コマンドを利用する。もし独自のアプリケーションのイメージを作成したい場合は、docker build -t <image_name> <path_to_dockerfile>コマンドを使う。これは、Dockerfileというテキストファイルに書かれた指示(アプリケーションの構築手順)に基づいてイメージを生成し、-tオプションでそのイメージに分かりやすい名前を付ける機能を持つ。

イメージが準備できたら、docker run -it <image_name>コマンドでイメージから「コンテナ」という実行可能なインスタンスを起動する。-itオプションは、コンテナと対話的に操作できるようにする。もし、コンテナ内で動くウェブアプリケーションなどに自分のPC(ホスト)からアクセスしたい場合は、docker run -p <host_port>:<container_port> <image_name>コマンドでポート番号を紐づける。さらに、複数のコンテナを管理しやすくするために、docker run -it --name <container_name> <image_name>コマンドでコンテナに固有の名前を割り当てることも可能である。実行中のコンテナを確認するにはdocker container lsコマンドを、停止中のものも含めて全てのコンテナを確認するにはdocker container ls -aコマンドを使用する。不要になったコンテナは、docker stop <container_id>で停止させ、その後docker container rm <container_id>で完全に削除できる。同様に、自分のPCに保存されているイメージの一覧はdocker image lsで確認し、不要なイメージはdocker image rm <image_id>で削除できる。

次に、Docker Volumesについて説明する。コンテナは通常、一時的なものであり、停止したり削除したりすると、その内部に保存されていたデータも失われる。これを防ぎ、データを永続的に保持するための仕組みが「Docker Volume」である。docker volume create <volume_name>コマンドで新しい名前付きボリュームを作成し、docker volume lsで作成済みのボリュームの一覧を確認できる。ボリュームを利用してデータを保持するには二つの主要な方法がある。一つは、docker run -it -v <host_path>:<container_path> <image_name>コマンドを使い、自分のPC上の特定のディレクトリ(ホストパス)をコンテナ内のディレクトリ(コンテナパス)に直接マウントする方法である。これにより、コンテナ内で生成されたファイルがホストPCの指定したディレクトリに保存されるため、コンテナが削除されてもデータは残る。もう一つは、docker run -it -v <volume_name>:<container_path> <image_name> bashコマンドで、事前に作成した名前付きボリュームをコンテナにマウントする方法である。こちらはDockerが管理する領域にデータが保存され、複数のコンテナ間でデータを共有したり、コンテナを再起動してもデータを引き継いだりすることが可能になる。

そして、Docker Networkingの理解も重要である。複数のアプリケーションコンテナ(例えば、ウェブサーバーとデータベース)を連携させて動かす場合、それらのコンテナ同士が互いに通信できる必要がある。Docker Networkingは、このコンテナ間の通信を管理するための機能である。docker network lsコマンドで現在存在するネットワークの一覧を確認できる。Dockerはデフォルトで「bridge」というネットワークを提供しており、docker inspect bridgeコマンドでその詳細情報を確認できる。独自のネットワークを作成したい場合は、docker network create <network_name>コマンドを利用する。作成したネットワークにコンテナを参加させるには、docker run -it --network <network_name> --name <container_name> <image_name>コマンドでコンテナを起動する。これにより、同じネットワーク内のコンテナ同士はコンテナ名を使って簡単に通信できるようになる。既に実行中のコンテナをネットワークに追加したい場合は、docker network connect <network_name> <container_name>コマンドを使う。また、実行中のコンテナの内部に入り、そこで直接コマンドを実行してデバッグや設定確認を行いたい場合は、docker exec -it <container_name> bashコマンドが非常に便利である。コンテナ内のサービスを外部に公開するためのポートマッピングは、docker run -it -p <host_port>:<container_port> <image_name>で設定する。

最後に、Working with Docker Hubについて解説する。Docker Hubは、世界中の開発者が作成したDockerイメージを共有し、公開するためのオンラインサービスである。自分の作ったイメージを他の人と共有したり、公開されたイメージを利用したりするために使う。自分のイメージをDocker Hubにアップロードするには、まずdocker build -t <dockerhub_username>/<repo_name> <path_to_dockerfile>コマンドで、Docker Hubの規約に沿った形式(自分のユーザー名とリポジトリ名)でイメージにタグを付ける必要がある。その後、docker push <dockerhub_username>/<repo_name>コマンドを実行することで、そのイメージをDocker Hubに公開できる。逆に、Docker Hubに公開されているイメージを利用したい場合は、docker pull <dockerhub_username>/<repo_name>コマンドでイメージをダウンロードし、docker run -it <dockerhub_username>/<repo_name>コマンドでそのイメージからコンテナを起動できる。これにより、他の開発者が作った便利なツールやアプリケーションを簡単に自分の環境で試すことが可能になる。

このチートシートで紹介されたコマンド群は、Dockerを使った日常の開発作業を効率的に進めるための基本的ながらも網羅的なツールである。イメージの作成からコンテナの起動、データの永続化、複数コンテナ間の連携、そしてイメージの共有といった一連のワークフローを理解し、これらのコマンドを使いこなすことで、システムエンジニアとしての開発効率と生産性を大きく向上させることができるだろう。

関連コンテンツ

関連IT用語