外部からコンテナ内部への接続について覚書です。
https://docs.docker.jp/engine/userguide/networking/default_network/binding.html
とてもわかり易いドキュメントです。
コンテナが外部からの内部への接続を受け付けたいなら docker runのp
または--publish
オプション(Docker Composeのports
プロパティ)で指定します。
DockerがiptablesにDNATを追加します。
Nginxコンテナをrunするときにp
オプションで8000
を指定する例です(コンテナは172.17.0.2
で稼働していると仮定します)。
$ docker run -d --name web -p 8000:80 nginx:latest
$ iptables -t nat -L -n
.....
Chain DOCKER-INGRESS (2 references)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000 to:172.17.0.2:80
.....
任意の場所(0.0.0.0
)からのポート8000
でのアクセスを172.17.0.2
のポート80
に接続します。
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。