【初心者向け】Dockerコンテナの起動方法まとめ|最短で動かす基本コマンドと注意点

Docker
スポンサーリンク

そもそもDockerコンテナとは?

Dockerコンテナとは、アプリケーションやツールを動かすための独立した「仮想の実行環境」です。

コンテナ技術によって、OSやハードウェアに関係なく、一貫した環境でアプリケーションを実行できます。

Dockerの主要概念を簡単に整理すると:

  • イメージ:アプリケーションの「設計図」。OS、ミドルウェア、アプリケーション、設定など必要な要素がパッケージ化されたもの
  • コンテナ:イメージをもとに実際に起動・実行される環境。実行中のアプリケーションインスタンス

コンテナを起動する基本コマンド

最もシンプルな起動方法

Dockerが正しく動作するか確認する最も簡単な方法は、公式のテスト用イメージを実行することです:

docker run hello-world

このコマンドは、hello-worldイメージをダウンロードし、コンテナを起動します。コンテナは情報を表示して終了します。

バックグラウンドで起動する(よく使う)

実用的なシナリオでは、コンテナをバックグラウンドで実行することが多いです:

docker run -d --name my_container_name イメージ名
  • -d:デタッチモード(バックグラウンドで実行)
  • --name:コンテナに名前を付ける(管理しやすくなる)

例えば、Nginxウェブサーバーを起動する場合:

docker run -d --name my-nginx nginx

ポートを指定して起動する(Webアプリなどに必須)

Webアプリケーションやサービスを実行する場合、ホストマシンからコンテナ内のサービスにアクセスするためにポートマッピングが必要です:

docker run -d -p 8080:80 nginx
  • -p ホスト:コンテナ:ホストのポートとコンテナのポートをマッピング

この例では、ホストマシンの8080ポートにアクセスすると、コンテナ内のNginxサーバー(80ポート)に転送されます。ブラウザで http://localhost:8080 を開くとNginxのウェルカムページが表示されます。

起動済みのコンテナに接続(ログイン)する

実行中のコンテナ内でコマンドを実行したい場合(トラブルシューティングや設定変更など):

docker exec -it my_container_name /bin/bash
  • -i:インタラクティブモード(標準入力を維持する)
  • -t:疑似TTY(ターミナル)を割り当てる
  • /bin/bash:コンテナ内で実行するコマンド(この場合はシェル)

コンテナの状態を確認する

現在実行中のコンテナを確認するには:

docker ps

すべてのコンテナ(停止中のものも含む)を表示するには:

docker ps -a

出力には、コンテナID、使用しているイメージ、作成日時、ステータス、公開ポート、名前などの情報が含まれます。

コンテナの再起動・停止

実行中のコンテナを停止するには:

docker stop my_container_name

停止したコンテナを再開するには:

docker start my_container_name

コンテナを完全に削除するには:

docker rm my_container_name

よくあるつまずきポイントQ&A

Q. コンテナがすぐ終了してしまう…

A. Dockerコンテナは、メインプロセスが終了すると自動的に停止します。

バックグラウンドサービス(Webサーバーなど)は継続して実行されますが、単発のコマンドを実行するだけのコンテナはすぐに終了します。

コンテナを維持するには:

docker run -d イメージ名 tail -f /dev/null

Q. イメージが見つからないと言われる…

A. イメージをまだダウンロードしていない場合は、明示的にpullするか、存在しないイメージ名でないか確認してください:

docker pull イメージ名

Q. ポートが既に使用されていると言われる…

A. 指定したホストポートが既に他のアプリケーションで使用されている可能性があります。

別のポートを試してみましょう:

docker run -d -p 8081:80 nginx

Q. 「permission denied」エラーが表示される…

A. Dockerコマンドを実行するには適切な権限が必要です。

Linuxでは、ユーザーをdockerグループに追加するか、sudoを使用してください。

まとめ|Dockerコンテナ起動の基本はこれだけ!

Dockerコンテナを使い始めるために覚えておきたい基本コマンドは次の通りです:

やりたいことコマンド例
コンテナの起動docker run -d イメージ名
ポート指定で起動docker run -d -p 8080:80 イメージ名
コンテナ内に入るdocker exec -it コンテナ名 /bin/bash
実行中コンテナの確認docker ps
コンテナの停止docker stop コンテナ名
コンテナの再開docker start コンテナ名

最初はdocker run hello-worldから始めて、次に簡単なWebサーバー(nginx)を起動してみましょう。

実際に手を動かすことで、Dockerの基本的な使い方が身につきます。

Dockerの基本を理解したら、次のステップとしてDockerfile作成、ボリュームマウント、Dockerネットワーク、Docker Composeなどの機能を学ぶと、さらに可能性が広がります。

コメント

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