導入
ウェブサーバーのように「動き続ける」コンテナは、バックグラウンドで起動 し、ポートを公開 してブラウザからアクセスできるようにします。ここで使うのが -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を実行し、webがUp(動作中)で、PORTS に0.0.0.0:8080->80/tcpと表示されることを確認しましょう。