Dockerコンテナを起動する「docker run」コマンド徹底解説!

Dockerは、アプリケーションの開発・テスト・本番環境へのデプロイを効率化する強力なツールとして、多くの開発者や運用担当者に利用されています。中でも「docker run」コマンドは、Dockerを使ううえで最も基本的で頻繁に使われるコマンドの一つです。この記事では、「docker run」の基本的な使い方から、よく使われるオプション、具体的な使用例までを丁寧に解説します。Linux環境でDockerを利用する初心者の方でも理解しやすいように、実行例を交えてわかりやすく紹介していきます。


docker runコマンドとは?

「docker run」コマンドは、Dockerコンテナを起動するための基本コマンドです。このコマンドを使うことで、Dockerイメージから新たにコンテナを作成し、それを実行することができます。

例えば、以下のような基本的なコマンドがあります。

docker run ubuntu

このコマンドは、Docker Hubからubuntuイメージを取得し、そのイメージからコンテナを作成して起動します。

ポイントは以下の2つです。

  • イメージがローカルにない場合は自動的にダウンロードされる
  • 作成したコンテナは、指定がなければ停止後に削除されない

よく使うオプションの紹介

「docker run」には多くの便利なオプションがあります。ここでは、よく使うオプションを中心に紹介します。

-it:インタラクティブモードで起動

docker run -it ubuntu /bin/bash

このオプションを付けることで、起動したコンテナに対してインタラクティブに操作ができます。特に、シェル操作を行いたい場合に有効です。

  • -i: 標準入力を開いたままにする
  • -t: 擬似ターミナルを割り当てる

–rm:コンテナ終了後に自動削除

docker run --rm ubuntu echo "hello"

このオプションを付けると、コンテナが終了した時点で自動的に削除されます。一時的な作業でコンテナを使うときに便利です。

-d:バックグラウンドで実行

docker run -d nginx

このオプションは、コンテナをバックグラウンド(デタッチド)で実行します。主にサーバー用途で使われます。

-p:ポートフォワーディング

docker run -d -p 8080:80 nginx

ホストの8080ポートを、コンテナ内の80番ポートに接続します。外部からコンテナ内のWebサービスへアクセスする際に利用します。

–name:コンテナに名前を付ける

docker run --name my-nginx -d nginx

このオプションを使うことで、コンテナに任意の名前を付けて管理しやすくできます。


docker runの基本構文

以下がdocker runコマンドの基本構文です。

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • [OPTIONS]: オプション指定(例:-it, -d, -pなど)
  • IMAGE: 使用するDockerイメージ名
  • [COMMAND]: コンテナ内で実行するコマンド(省略可能)
  • [ARG...]: コマンドに渡す引数

例として、ubuntuイメージを使ってlsコマンドを実行する場合は以下のようになります。

docker run ubuntu ls /home

docker runの使用例(実践)

1. Ubuntuコンテナでコマンド実行

docker run --rm ubuntu echo "Hello, Docker!"

このコマンドは、一時的にUbuntuコンテナを起動し、「Hello, Docker!」と出力した後、コンテナを削除します。

2. NginxコンテナでWebサーバーを起動

docker run -d -p 8080:80 --name my-nginx nginx

この例では、nginxイメージを使ってWebサーバーをバックグラウンドで起動し、http://localhost:8080でアクセスできるようにしています。

3. MySQLコンテナを起動

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest

MySQLの環境変数(パスワード)を指定して、MySQLサーバーを起動します。データベース開発や検証に役立ちます。


コンテナの確認と停止

起動したコンテナは、以下のコマンドで確認できます。

docker ps

バックグラウンドで実行中のコンテナ一覧が表示されます。停止したい場合は、docker stopを使います。

docker stop my-nginx

名前やIDを指定してコンテナを停止できます。


エラー時の対処法

docker runを使っていてよくあるエラーとその対処方法も知っておきましょう。

イメージが見つからない

Unable to find image 'xxx' locally

このメッセージはイメージがローカルに存在しないという意味です。インターネットに接続されていればDocker Hubから自動で取得されますが、ネットワークが遮断されていると失敗します。

対処法:

  • イメージ名のスペルを確認
  • ネットワーク接続を確認

ポートが重複している

Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use

このエラーは、ホスト側のポートがすでに使われている場合に出ます。

対処法:

  • 使用していないポートに変更する(例:-p 8081:80)
  • 既存のプロセスを停止する

まとめ:docker runの習得がDocker活用の第一歩

「docker run」は、Dockerを使う上で最初に覚えるべき非常に重要なコマンドです。オプションや構文をしっかり理解しておくことで、自由自在にコンテナを起動・操作することができます。この記事で紹介した使い方や実例を活用すれば、日々の開発や検証作業が格段に効率化されることでしょう。

次は、「docker ps」や「docker exec」などのコマンドと組み合わせて、さらに高度なDocker活用術に挑戦してみてください。

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