dockerコンテナのポートをホストのポートに割り当てる

LINEで送る
Pocket

はじめに

docker01_logo

前回の記事では、「コンテナのイメージをダウンロードしてから起動や停止を行う」手順について書いて行きましたが、今回はコンテナのポートをホストのポートに割り当てる手順について書いて行きたいと思います。

 

環境

  • OS:CentOS  7.3.1611 (Core)
  • Kernel:3.10.0-514.21.2.el7.x86_64
  • docker-ce:17.03.1.ce-1.el7.centos.x86_64

 

手順

今回は、nginxのコンテナを起動して、ブラウザで接続出来るところまでを確認したいと思います。

nginxイメージの取得

# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
e6e142a99202: Pull complete
c5b776fbdd26: Pull complete
1128674f0003: Pull complete
Digest: sha256:8e2645484fe09122ea8aef7a186658082a860312d47fa51675cbf21d1b4b901a
Status: Downloaded newer image for nginx:latest
#

 

イメージ取得確認

# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 2f7f7bce8929 3 days ago 107 MB
#

nginxのイメージが取得出来ました。

 

nginxコンテナ起動

# docker run -d -p 8080:80 nginx
e7d23f7643f98f2ab9efa4913807a1602a49b8badc678c147056afd8c121e05e
#
  • -d : コンテナをバックグランドで起動
  • -p : <ホストポート>:<コンテナポート> で、ホストとコンテナのポートを紐づける

 

コンテナ状態確認

# docker ps -a
CONTAINER ID IMAGE COMMAND                CREATED       STATUS       PORTS                NAMES
e7d23f7643f9 nginx "nginx -g 'daemon ..." 7 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp confident_lalande
#

PORTSの「0.0.0.0:8080->80/tcp」が、ホストポートの8080ポートとコンテナポートの80の紐づきを意味します。

 

nginxコンテナへの接続確認

プラウザより、「http://<ホストのIPアドレス>:8080」で接続します。

nginx_container_test

nginxのwelcomeページが表示され、接続が確認出来ました。

 

まとめ

これで、コンテナのポートをホストのポートに割り当てる手順について確認出来ました。

細かな設定を行わず、コンテナ起動時のオプションを指定するだけで良い事も、コンテナの手軽なメリットの一つですね。

 

次回以降では、コンテナでのボリュームを操作する手順について書いて行きたいと思います。

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

18 + five =