10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「Dockerはわかるけど…」から卒業!AWSでコンテナを動かすための30日集中講座 - Day 2: Dockerの基本コマンド総ざらい:イメージとコンテナを徹底理解

Last updated at Posted at 2025-08-16

Day 2: Dockerの基本コマンド総ざらい:イメージとコンテナを徹底理解

皆さん、こんにちは!「「Dockerはわかるけど…」から卒業!AWSでコンテナを動かすための30日集中講座」のDay 2へようこそ。

昨日、コンテナとDockerがなぜ現代のソフトウェア開発に不可欠なのか、その大きな理由を学びました。今日からは、いよいよ手を動かしていきます。

Dockerを使いこなす上で、絶対に避けて通れないのが「イメージ」と「コンテナ」という2つの概念です。これらはDockerの根幹をなすものであり、車の「設計図」と「実物」の関係に例えると非常に分かりやすいです。

  • Dockerイメージ: アプリケーションの実行に必要なすべての情報(コード、ライブラリ、設定など)をパッケージ化した、読み取り専用のテンプレートです。これは車の「設計図」に当たります。
  • Dockerコンテナ: Dockerイメージから作成され、実際にアプリケーションが動作する実行可能なインスタンスです。これは「設計図」に基づいて組み立てられた、実際に動く「車」そのものです。

この関係性を頭に置きながら、基本コマンドを一つずつ見ていきましょう。


1. コンテナのライフサイクルと基本コマンド

Dockerコンテナは、以下のシンプルなライフサイクルを持っています。

作成 ➡️ 実行中 ↔️ 停止 ➡️ 削除

docker rundocker startdocker stopdocker rmといったコマンドは、この状態遷移を管理するために使われます。

2. まずは「イメージ」を操るコマンド

コンテナを作成するためには、まず元となる「イメージ」が必要です。ほとんどの場合、Docker Hubという公式のレジストリから、他の開発者が公開しているイメージをダウンロードして利用します。

docker pull : イメージのダウンロード

docker pullコマンドは、リモートのリポジトリからイメージをローカルに取得するために使います。

# 例: nginx Webサーバーのイメージをダウンロード
docker pull nginx

# 特定のバージョンを指定してダウンロード
docker pull ubuntu:20.04

タグを指定しない場合は、デフォルトでlatestが適用されます。latestタグは便利なタグですが、その内容はプロジェクトの運用方針によって異なります。本番環境では、予期せぬ変更を避けるため、具体的なバージョンのタグを指定することが推奨されます

docker images : ローカルイメージの一覧表示

ローカルに保存されているイメージの一覧を確認するには、docker imagesを使います。

docker images

このコマンドを実行すると、以下の情報が表示されます。

  • REPOSITORY: イメージ名
  • TAG: バージョン
  • IMAGE ID: イメージを一意に識別するID
  • CREATED: イメージが作成されてからの経過時間
  • SIZE: イメージのサイズ

docker rmi : イメージの削除

不要になったイメージを削除するには、docker rmiを使います。

# イメージ名とタグで削除
docker rmi nginx:latest

3. 次に「コンテナ」を操るコマンド

イメージをダウンロードしたら、次はそれを基にコンテナを起動します。

docker run : コンテナの作成と起動

docker runは、Dockerコマンドの中で最も重要で、多機能なコマンドです。イメージを指定してコンテナを作成し、すぐに実行します。

# 例: バックグラウンドでnginxコンテナを起動し、ポートフォワードを設定
docker run -d --name my-nginx -p 8080:80 nginx
  • -d (--detach): コンテナをバックグラウンド(デタッチモード)で実行します。
  • -p (--publish): ホストマシンとコンテナのポートをマッピングします。構文は「ホストポート:コンテナポート」です。上記の例では、ホストの8080番ポートへのアクセスを、コンテナの80番ポートに転送します。
  • --name: コンテナにわかりやすい名前を付けます。

実際の開発でよく使う docker run オプション

  • 環境変数の設定: -e オプションで環境変数を渡します。
    docker run -e DB_HOST=db_server -e DB_USER=admin my-app
    
  • ボリュームマウント: -v オプションでホストのディレクトリをコンテナにマウントします。
    docker run -v /Users/user/my-data:/app/data my-app
    
  • 作業ディレクトリの指定: -w オプションでコンテナ内の作業ディレクトリを指定します。
    docker run -w /app ubuntu /bin/bash
    

docker ps : 実行中のコンテナ一覧表示

現在実行中のコンテナを確認するには、docker psを使います。

docker ps
  • -a (--all): 実行中かどうかにかかわらず、停止中のコンテナも含めてすべてのコンテナを表示します。

docker start / docker stop : コンテナの起動と停止

停止したコンテナを再起動するにはdocker startを、実行中のコンテナを停止するにはdocker stopを使います。

# 名前でコンテナを起動
docker start my-nginx

# 名前でコンテナを停止
docker stop my-nginx

docker rm : コンテナの削除

不要になったコンテナを削除するには、docker rmを使います。コンテナを削除する際は、先にdocker stopで停止させておくのが基本です。


4. 実行中のコンテナをデバッグする

docker runでコンテナを起動したら、そのコンテナ内でさらにコマンドを実行したい場合があります。

docker exec : 実行中のコンテナ内でコマンドを実行

docker runは新しいコンテナを作成して実行するのに対して、docker exec既存の実行中コンテナ内でコマンドを実行します。デバッグや設定確認の際によく使用されます。

# 例: 実行中のnginxコンテナでbashシェルを起動
docker exec -it my-nginx /bin/bash

このコマンドを実行すると、ターミナルがコンテナ内に切り替わり、直接操作できます。exitと入力して抜けても、コンテナ自体は停止しません。

docker logs : コンテナのログを見る

コンテナの標準出力(stdout)と標準エラー出力(stderr)のログを確認するには、docker logsを使います。

# 例: nginxコンテナのログを表示
docker logs my-nginx

# リアルタイムでログを追跡
docker logs -f my-nginx

5. まとめ:本日のスキルチェック

今日はDockerの基本コマンドを学びました。以下のコマンドを自分のPCで試して、挙動を確かめてみましょう。

  1. docker pullで任意のイメージ(例:httpd)をダウンロードする。
  2. docker imagesでダウンロードしたイメージが表示されることを確認する。
  3. docker runでコンテナをバックグラウンド起動し、ポートフォワードを設定する。
  4. docker psdocker ps -aでコンテナの状態を確認する。
  5. docker stopdocker startでコンテナを停止・再起動してみる。
  6. docker logsdocker execでコンテナのデバッグを行う。
  7. docker rmでコンテナを削除し、docker rmiでイメージを削除する。

これらのコマンドをマスターすれば、Dockerをローカル環境で自由に操れるようになります。


次回の予告

明日は、Dockerの真髄とも言える「Dockerfile」について学びます。Dockerfileを使えば、自分で独自のコンテナイメージを作成し、アプリケーションの環境をコードとして管理できるようになります。

Day 3: Dockerfileの書き方から学ぶ、軽量で堅牢なコンテナイメージの作り方

それでは、また明日お会いしましょう!

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?