「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を使いこなせば、「自分の環境では動くのに…」という問題から解放され、どこでも同じ環境でアプリケーションを動かせるようになります。
コメント