コンテナを起動したい(docker container run

$ docker run オプション イメージ名 コマンド
$ docker container run オプション イメージ名 コマンド

docker runコマンドでイメージ名:タグを指定して、コンテナを起動できます。 タグを指定しない場合は最新版(latest)のイメージが適用されます。 起動中のコンテナ情報はdocker container psで確認できます。

docker conteiner runコマンドにはたくさんのオプションがあります。 これらのオプションを使うことで、公開されているイメージを少しだけカスタマイズしてローカル開発ができます。

コンテナに名前をつけたい(--name

1$ docker container run --name コンテナ名

--nameオプションで、コンテナに名前をつけることができます。 デフォルトではDockerがランダムなコンテナ名(≠イメージ名)を割り当てます。 僕はmy-イメージ名という名前をよく使います。

コンテナの状態を確認したり、停止や削除などのコンテナ操作をする際に、コンテナ名がついていると便利です。 ただし、同じ名前のコンテナは起動できないので、違う名前にするか、再起動する場合は、一度停止&削除する必要があります。

シェルしたい(-it

$ docker container run -it イメージ名 [コマンド]

# Ubuntuコンテナのデフォルトシェル(sh)を起動したい
$ docker container run -it ubuntu:latest

-itオプションを使って、コンテナ内のターミナル(sh)に接続できます。 すでに起動しているコンテナに接続する場合はdocker container execします。

ポートを指定したい(-p / --publish

1$ docker container run -p ホスト側:コンテナ側

-pオプションを使って、ポート番号を指定できます。 ポート番号はホスト側:コンテナ側の形式で記述します。 http://localhost:ホスト側のポート番号でコンテナにアクセスできます。

バックグラウンドで起動したい(-d / --detach

1$ docker container run -d イメージ名

-dオプションを使って、コンテナをバックグラウンドで起動できます。

ボリュームを指定したい(-v / --volume

1$ docker container run -v ホスト側(named volume):コンテナ側
2$ docker container run -v ホスト側(bind volume):コンテナ側

-vオプションを使って、データの保存先を指定できます。 保存先のパスはホスト側:コンテナ側の形式で記述します。 named volumebind volumeのどちらでも同じように指定できます。

作業ディレクトリを指定したい(-w / --workdir

1$ docker container run -w コンテナ内の作業ディレクトリ

デフォルトの作業ディレクトリ/(ルートディレクトリ)になっています。 -wオプションを使ってコンテナ内の作業ディレクトリを指定できます。

リファレンス