「Dockerを使ってみたいけど、イメージって何?」
「イメージからどうやってコンテナを起動するの?」
こんな疑問を持つ方は多いと思います。
Dockerを理解するうえで最も基本かつ重要なのが、「Dockerイメージからコンテナを起動する操作」です。
この記事では、Dockerイメージの基本と、起動までの手順を初心者の方でもわかるように、丁寧に解説します。
Dockerイメージとは?

Dockerイメージとは、アプリケーションを動かすために必要な環境をまるごと詰め込んだテンプレートです。
イメージをもとにコンテナ(実行環境)を作成・起動します。
イメージの中身(ざっくり)
- OS(Alpine, Ubuntuなど)
- アプリ本体(Node.js, Python, Nginxなど)
- ライブラリや設定ファイル
- アプリケーションのコード
イメージは「レイヤー」という階層構造で構成されており、必要な要素が積み重なっています。
これにより、効率的な保存と再利用が可能になっています。
Dockerイメージからコンテナを起動する手順

基本コマンド
docker run イメージ名
これだけでOK!Dockerは自動で以下の処理をしてくれます:
- イメージがローカルにない場合 → 自動でダウンロード(pull)
- イメージから新しいコンテナを作成
- コンテナを起動して処理開始
具体例:Ubuntuを起動してみる
docker run -it ubuntu bash
-it:対話モード(ターミナル操作が可能)ubuntu:使いたいイメージ名bash:起動後に実行するコマンド
これでUbuntuのコンテナ内にログインできます!コンテナ内では通常のLinuxコマンドが使えます。
よく使うオプションまとめ
| オプション | 意味 |
|---|---|
-d | バックグラウンド(非表示)で起動(デーモン) |
--name 名前 | コンテナに任意の名前をつける |
-p ホスト:コンテナ | ポートを公開する(例:-p 8080:80) |
-v ホスト:コンテナ | ボリュームマウント(ファイル共有) |
-e 変数=値 | 環境変数を設定する |
--rm | コンテナ終了時に自動削除 |
例:Nginxウェブサーバーを起動する
docker run -d --name my-nginx -p 8080:80 nginx
-d:Nginxのコンテナをバックグラウンドで起動--name my-nginx:コンテナに「my-nginx」という名前を付ける-p 8080:80:ホストの8080番ポートにアクセスするとNginxの80番ポートへ接続nginx:使用するイメージ名
この後、ブラウザで http://localhost:8080 にアクセスすると、Nginxのウェルカムページが表示されます。
ローカルにあるイメージの確認
docker images
このコマンドで、現在ダウンロード済みのDockerイメージ一覧が表示されます。
出力例:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest a6bd71f48f68 2 weeks ago 187MB
ubuntu latest 3f5ef9003cef 3 weeks ago 69.2MB
hello-world latest feb5d9fea6a5 6 months ago 13.3kB
起動中のコンテナ・停止中の確認と管理
起動中のコンテナ確認
docker ps
停止中も含めてすべてのコンテナ確認
docker ps -a
コンテナの操作コマンド
| 操作 | コマンド |
|---|---|
| 起動 | docker start コンテナ名またはID |
| 停止 | docker stop コンテナ名またはID |
| 再起動 | docker restart コンテナ名またはID |
| 削除 | docker rm コンテナ名またはID |
| ログ確認 | docker logs コンテナ名またはID |
| コンテナ内でコマンド実行 | docker exec -it コンテナ名 コマンド |
例:起動中のNginxコンテナの中にbashで入る
docker exec -it my-nginx bash
よくあるエラーと対策

イメージが見つからない → 自動でpullされない
- 対策:
docker pull イメージ名で事前に取得しておく - 例:
docker pull python:3.9
コンテナがすぐ終了してしまう
- 原因: 実行後すぐ終わる処理だけをしている(例えば
hello-worldなど) - 対策:
-itで対話モードにする、または-dでバックグラウンド起動+ログ確認
「ポートが既に使用されています」エラー
- 原因: 指定したホスト側のポートが既に他のプロセスで使われている
- 対策: 別のポート番号を使う(例:
-p 8081:80)
パーミッションエラー
- 原因: Dockerコマンドを実行する権限がない
- 対策:
sudoをつける、またはdockerグループにユーザーを追加
まとめ
Dockerでアプリを動かすには、「イメージ」→「コンテナ」→「起動」という流れを理解することが最初のステップです。
おさらい:Dockerイメージ起動の流れ
| ステップ | コマンド例 |
|---|---|
| イメージから起動 | docker run ubuntu |
| 対話型で起動 | docker run -it ubuntu bash |
| バックグラウンド起動 | docker run -d --name web nginx |
| ポート公開 | docker run -p 8080:80 nginx |
| ファイル共有 | docker run -v $(pwd):/app python:3.9 |
まずは公式イメージ(ubuntu, nginx, python など)を使って、色々試してみるのがおすすめです!
一度基本を理解すれば、複雑なアプリケーションの実行環境も簡単に構築できるようになります。
Dockerを使いこなせば、「自分の環境では動くのに…」という問題から解放され、どこでも同じ環境でアプリケーションを動かせるようになります。


コメント