Opensourcetechブログ

OpensourcetechによるNGINX/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

Dockerコンテナで複数ポートのバインドを行う方法

こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。

 

Dockerコンテナで、複数のポートバインドを行なったメモです。

※複数のサーバ機能などをコンテナに持たせている場合など

 

 

ポートバインドする方法

以下の記事にもあるように、docker runに「-p ホスト側ポート:コンテナ側ポート」をつけて実施します。

ホスト上にコンテナのポートを割り当て — Docker-docs-ja 17.06.Beta ドキュメント

 

操作例(ホスト側ポート 8081:コンテナ側ポート 8081)

bash-3.2$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> d7e90ef0890d 44 hours ago 263MB
nginx/unit 1.7-full 6460aea482f7 8 weeks ago 215MB
nginx/unit 1.3-php7.0 899eac6ee7bf 7 months ago 125MB
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bash-3.2$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bash-3.2$ docker run -d -p 8081:8081 --name="unit-1.7-full-test" -it nginx/unit1.7-full
81845a0b12bca78c218d135159409a45c475bd8934499aab56dbddcb45238dcc
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81845a0b12bc nginx/unit:1.7-full "unitd --no-daemon -…" 4 seconds ago Up 2 seconds 0.0.0.0:8081->8081/tcp unit-1.7-full-test
bash-3.2$ docker port 81845a0b12bc
8081/tcp -> 0.0.0.0:8081

 

 

複数ポートバインドする方法

では、複数ポートをバインドしたい場合はどうするかというと、

docker run時に「-p ホスト側ポート:コンテナ側ポート」を必要な数記載しれやればOKです!

 

操作例(ホスト側ポート 8081-8086:コンテナ側ポート 8081-8086)

ash-3.2$ docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 085:8085 -p 8086:8086 --name="unit-1.7-full-test" -it nginx/unit:1.7-full
73bffe722a9797abf762da32b18632518d8fd41400520e3b439d0de6391f0438
bash-3.2$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73bffe722a97 nginx/unit:1.7-full "unitd --no-daemon -…" 4 seconds ago Up 3 seconds 0.0.0.0:8081-8086->8081-8086/tcp unit-1.7-full-test
bash-3.2$ docker port 73bffe722a97
8086/tcp -> 0.0.0.0:8086
8081/tcp -> 0.0.0.0:8081
8082/tcp -> 0.0.0.0:8082
8083/tcp -> 0.0.0.0:8083
8084/tcp -> 0.0.0.0:8084
8085/tcp -> 0.0.0.0:8085

 

 

 

www.slideshare.net

github.com

www.facebook.com

twitter.com

www.instagram.com

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

 

 

Opensourcetech by Takahiro Kujirai