Study & Practice

北海道札幌市のプログラマによる技術とか雑記のブログ

nginxのDockerコンテナを立てるまで

docker container run -d -p 8000:80 --name test_nginx nginx:latest

これだけだった。

  • d - バックグラウンド実行
    • name - コンテナの名前指定
  • p ポート指定 8000は外部からのアクセス時のポート番号、80はポートフォワーディング設定
  • pオプションだけあんまりよくわかってなかったのでちょっと調べてみた

qiita.com

この記事によると8000番(Dockerコンテナ)へのリクエストをコンテナ内部の80番(nginx)に転送する感じかな?

ためしに

docker container run -d -p 9000:81 --name test_nginx2 nginx:latest

してみたけどnginxの初期表示のページが出てこなかった。
nginxのポートはデフォルトが80番みたいなので上記の解説であってるはず

タイトルは達成したけどさすがに短すぎるので停止と再起動を試す

docker container stop test_nginx

このコマンドでコンテナが停止する

docker container start test_nginx

これで起動

一回docker runすると

docker container start -p 9000:80 test_nginx

みたいにあとからオプションを変更することができないので開発中なんかは

docker container run -d --rm -p 8000:80 --name test_nginx nginx:latest

のように--rmオプションをつけて
コンテナを停止するごとに自動的に削除されるようにするのが一般的らしい

ちなみに今回は全部「docker container run」みたいにcontainerをつけたけど
「container」は省略できるから

docker run -d --rm -p 8000:80 --name test_nginx nginx:latest

とかでも同じことができる

目標も達成したし今日はここまで