LoginSignup
81
76

More than 5 years have passed since last update.

dockerで後からポートを公開する

Last updated at Posted at 2014-12-25

docker で後からポートを公開する

docker run したときに -p を忘れたり後から公開の必要ができた場合には

iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.15:80

でポート転送すればよい
ubuntu 14.04 ではこの設定でOKだった
DockerfileでEXPOSEしていないポートでも転送できた
IPアドレスは外からは docker inspect で確認

うまくいかな場合は iptables-save でほかのコンテナの転送設定見てやればいいと思う

2014/12/30 追記:

ubuntu 14.04のdockerのパッケージをdocker.ioからlxc-dockerに変更したら natテーブルだけじゃダメで FORWARDも必要だった

iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 9292 -j DNAT --to-destination 172.17.0.49:80
iptables -A FORWARD -d 172.17.0.49/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 80 -j ACCEPT
81
76
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
81
76