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

【ITニュース解説】Basic Docker Commands Every Beginner Should Know

2025年10月02日に「Dev.to」が公開したITニュース「Basic Docker Commands Every Beginner Should Know」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Docker初心者が知るべき基本コマンドを解説。コンテナの起動、一覧表示、停止・削除、イメージの管理、ダウンロード、コンテナ内部でのコマンド実行など、Docker操作の基礎をステップバイステップで習得できる。

ITニュース解説

Dockerは、ソフトウェア開発においてアプリケーションを効率的に動かすための強力なツールである。これは、アプリケーションとその動作に必要なすべてのもの(コード、ランタイム、システムツール、ライブラリなど)を「コンテナ」と呼ばれる独立したパッケージにまとめる技術を提供する。このコンテナを使うことで、どんな環境でも同じようにアプリケーションを実行できるようになり、開発者やシステムエンジニアが直面する「自分のコンピューターでは動くのに、他のコンピューターでは動かない」といった問題を解決するのに役立つ。Dockerを使い始める上で、コマンドラインインターフェースは最初は複雑に感じるかもしれないが、基本的なコマンドを理解すれば、コンテナやその元となるイメージの管理はごく自然に行えるようになる。

Dockerの最も基本的な操作は、コンテナを起動することから始まる。docker runコマンドは、特定のイメージから新しいコンテナを作成し、それを実行する役割を担う。例えば、docker run nginxと入力すると、Nginxというウェブサーバーのイメージを基にしたコンテナが起動する。もしこのNginxイメージがまだあなたのコンピューターに保存されていなければ、Dockerはインターネット上にある「Docker Hub」という公開リポジトリから自動的にダウンロードし、それからコンテナを起動する。一度ダウンロードされたイメージはローカルにキャッシュされるため、次回以降に同じイメージからコンテナを起動する際は、ダウンロードの待機時間なしにすぐに実行が開始される。

現在動いているコンテナの状態を確認したい場合は、docker psコマンドを使用する。このコマンドを実行すると、コンテナID、どのイメージから作られたか、実行中のコマンド、作成されてからの時間、現在のステータス、そして割り当てられた名前などの情報が表示される。もし実行中のコンテナだけでなく、停止しているものも含めて全てのコンテナの情報を一覧表示したい場合は、docker ps -aコマンドを使う。これにより、以前に起動して今は停止しているコンテナの情報も確認できる。

不要になったコンテナは適切に管理する必要がある。実行中のコンテナを停止させるにはdocker stopコマンドを使用し、その後、不要になったコンテナをシステムから完全に削除するにはdocker rmコマンドを使う。これらのコマンドには、停止または削除したいコンテナのIDか、自動的あるいは手動で割り当てられた名前を指定する。例えば、docker stop silly_sammetのように使う。一度docker rmで削除されたコンテナは、docker ps -aの一覧にも表示されなくなる。

コンテナの元となる「イメージ」も管理の対象である。イメージは、コンテナを作成するためのテンプレートや設計図のようなもので、アプリケーションとその実行環境の情報が全て含まれている。あなたのコンピューターに現在保存されているイメージの一覧を確認するにはdocker imagesコマンドを実行する。このコマンドは、イメージの名前、タグ(バージョンを示すことが多い)、ID、作成された日時、サイズなどの情報を提供する。不要になったイメージを削除するにはdocker rmiコマンドを使用する。ただし、注意が必要な点として、いずれかのコンテナ(実行中か停止中かを問わず)がまだそのイメージを使用している場合、Dockerはそのイメージを削除しない。イメージを削除するには、まずそのイメージを使用しているすべてのコンテナを削除する必要がある。

コンテナをすぐに起動するのではなく、イメージだけを事前にダウンロードしておきたい場合もある。docker pullコマンドを使えば、特定のイメージをDocker Hubからダウンロードし、ローカルに保存できる。例えばdocker pull nginxと実行すると、Nginxイメージがダウンロードされるが、コンテナは起動しない。これにより、必要なときにすぐにコンテナを起動できる状態にしておくことができる。

コンテナの動作は、その中で実行されるプロセスによって異なる。例えば、docker run ubuntuと実行してUbuntuのコンテナを起動すると、特別な指定がない限り、コンテナはすぐに起動してすぐに終了する。これは、Ubuntuイメージ自体には、起動後に長時間実行されるようなデフォルトのプロセスが含まれていないためである。もし、特定の処理を実行してコンテナを一定時間だけ動かしたい場合は、docker run ubuntu sleep 5のように、コンテナ内で実行するコマンドを指定できる。この場合、sleep 5コマンドが5秒間実行された後、コンテナは自動的に終了する。

すでに起動しているコンテナの内部でコマンドを実行したいときには、docker execコマンドが非常に便利である。これは、実行中のコンテナに一時的に入り込み、内部の状態を確認したり、ファイルを操作したりする際に使う。例えば、docker run -d ubuntu sleep 100というコマンドでUbuntuコンテナをバックグラウンド(-dオプションは「デタッチドモード」と呼ばれる、バックグラウンドでの実行を意味する)で起動し、その後docker exec <コンテナID> cat /etc/hostsのように使うことで、そのコンテナ内部の/etc/hostsファイルの内容を表示できる。これは、アプリケーションのデバッグや、コンテナの内部設定を確認する際に非常に役立つ。

実際のウェブアプリケーションをDockerコンテナとして実行することも簡単である。例えば、docker run kodekloud/simple-webappと実行すると、サンプルウェブアプリケーションのコンテナが起動し、そのログが直接ターミナルに表示される。このウェブアプリをバックグラウンドで実行し、ターミナルを解放したい場合は、先ほど紹介した-dオプションを使用し、docker run -d kodekloud/simple-webappと実行する。バックグラウンドで実行中のコンテナのログ出力や標準入力に再接続したい場合は、docker attach <コンテナID>コマンドを使うことで、まるでフォアグラウンドで実行していたかのようにコンテナとの対話ができる。

これらのコマンドはDockerの基本的な操作を網羅しており、イメージのダウンロードからコンテナの起動、状態の確認、そして停止や削除といった一連のライフサイクル管理が可能になる。これらの基礎をしっかりと習得すれば、さらに高度なDockerの機能、例えばコンテナ間のネットワーク設定、データの永続化を可能にするボリューム、複数のコンテナを連携させてアプリケーションを構築するDocker Composeといった学習へとスムーズに進むことができるだろう。これらのコマンドを実際に自分のコンピューターで試すことで、Dockerを使った開発環境の構築と管理に自信が持てるようになるはずである。

関連コンテンツ

関連IT用語