本文へスキップ
BecomeCoder

Dockerコース · 第3章 コンテナを動かす・止める · レッスン8

-d と -p ― 常駐させて外から繋ぐ

ブラウザで完結

導入

ウェブサーバーのように「動き続ける」コンテナは、バックグラウンドで起動 し、ポートを公開 してブラウザからアクセスできるようにします。ここで使うのが -d-p、そして名前を付ける --name です。

説明

docker run -d -p 8080:80 --name web nginx の各オプションの意味は次のとおりです。

  • -d(—detach):バックグラウンドで実行する。端末が占有されず、コンテナIDが返る。
  • -p 8080:80(—publish):ホストの 8080 番ポートを、コンテナの 80 番ポートにつなぐ。ホスト側:コンテナ側 の順。ブラウザで localhost:8080 を開くと、コンテナ内の nginx(80番)に届く。
  • --name web:コンテナに web という名前を付ける。付けないとランダム名になる。
flowchart LR
  Browser[ブラウザ<br/>localhost:8080] -->|-p 8080:80| Host((ホスト:8080))
  Host --> Cont[nginx コンテナ<br/>:80]

やってみよう

  • 下の端末で docker run -d -p 8080:80 --name web nginx を実行しましょう。長いコンテナIDが1行返れば成功です。
  • docker ps を実行し、webUp(動作中)で、PORTS に 0.0.0.0:8080->80/tcp と表示されることを確認しましょう。

実際に動かしてみよう

下の端末に docker コマンドを打って Enter を押すと、その場で結果が返ります。本文の手順を実際になぞりながら進めましょう(各レッスンは毎回まっさらな状態から始まり、「最初からやり直す」でいつでも戻せます)。

Docker(シミュレート)

ブラウザ内で docker コマンドを試せる学習用環境を読み込みます(本物のDockerではなく、動きを再現したものです)。
スクロールして表示された時点でも自動で読み込まれます。