【初心者向け】Dockerイメージを起動する方法|最初の1歩を丁寧に解説!

Docker

「Dockerを使ってみたいけど、イメージって何?
イメージからどうやってコンテナを起動するの?
こんな疑問を持つ方は多いと思います。

Dockerを理解するうえで最も基本かつ重要なのが、「Dockerイメージからコンテナを起動する操作」です。

この記事では、Dockerイメージの基本と、起動までの手順を初心者の方でもわかるように、丁寧に解説します。

スポンサーリンク

Dockerイメージとは?

Dockerイメージとは、アプリケーションを動かすために必要な環境をまるごと詰め込んだテンプレートです。

イメージをもとにコンテナ(実行環境)を作成・起動します。

イメージの中身(ざっくり)

  • OS(Alpine, Ubuntuなど)
  • アプリ本体(Node.js, Python, Nginxなど)
  • ライブラリや設定ファイル
  • アプリケーションのコード

イメージは「レイヤー」という階層構造で構成されており、必要な要素が積み重なっています。

これにより、効率的な保存と再利用が可能になっています。

Dockerイメージからコンテナを起動する手順

基本コマンド

docker run イメージ名

これだけでOK!Dockerは自動で以下の処理をしてくれます:

  1. イメージがローカルにない場合 → 自動でダウンロード(pull)
  2. イメージから新しいコンテナを作成
  3. コンテナを起動して処理開始

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

コメント

タイトルとURLをコピーしました