Flat lay of business concept
Dockerは、アプリケーションの開発・テスト・本番環境へのデプロイを効率化する強力なツールとして、多くの開発者や運用担当者に利用されています。中でも「docker run」コマンドは、Dockerを使ううえで最も基本的で頻繁に使われるコマンドの一つです。この記事では、「docker run」の基本的な使い方から、よく使われるオプション、具体的な使用例までを丁寧に解説します。Linux環境でDockerを利用する初心者の方でも理解しやすいように、実行例を交えてわかりやすく紹介していきます。
「docker run」コマンドは、Dockerコンテナを起動するための基本コマンドです。このコマンドを使うことで、Dockerイメージから新たにコンテナを作成し、それを実行することができます。
例えば、以下のような基本的なコマンドがあります。
docker run ubuntu
このコマンドは、Docker Hubからubuntu
イメージを取得し、そのイメージからコンテナを作成して起動します。
ポイントは以下の2つです。
「docker run」には多くの便利なオプションがあります。ここでは、よく使うオプションを中心に紹介します。
docker run -it ubuntu /bin/bash
このオプションを付けることで、起動したコンテナに対してインタラクティブに操作ができます。特に、シェル操作を行いたい場合に有効です。
-i
: 標準入力を開いたままにする-t
: 擬似ターミナルを割り当てるdocker run --rm ubuntu echo "hello"
このオプションを付けると、コンテナが終了した時点で自動的に削除されます。一時的な作業でコンテナを使うときに便利です。
docker run -d nginx
このオプションは、コンテナをバックグラウンド(デタッチド)で実行します。主にサーバー用途で使われます。
docker run -d -p 8080:80 nginx
ホストの8080ポートを、コンテナ内の80番ポートに接続します。外部からコンテナ内のWebサービスへアクセスする際に利用します。
docker run --name my-nginx -d nginx
このオプションを使うことで、コンテナに任意の名前を付けて管理しやすくできます。
以下が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 --rm ubuntu echo "Hello, Docker!"
このコマンドは、一時的にUbuntuコンテナを起動し、「Hello, Docker!」と出力した後、コンテナを削除します。
docker run -d -p 8080:80 --name my-nginx nginx
この例では、nginx
イメージを使ってWebサーバーをバックグラウンドで起動し、http://localhost:8080
でアクセスできるようにしています。
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
このエラーは、ホスト側のポートがすでに使われている場合に出ます。
対処法:
「docker run」は、Dockerを使う上で最初に覚えるべき非常に重要なコマンドです。オプションや構文をしっかり理解しておくことで、自由自在にコンテナを起動・操作することができます。この記事で紹介した使い方や実例を活用すれば、日々の開発や検証作業が格段に効率化されることでしょう。
次は、「docker ps」や「docker exec」などのコマンドと組み合わせて、さらに高度なDocker活用術に挑戦してみてください。