今度はホストからだけではなく、外部からのアクセスを許可するように
ファイヤーウォール、iptablesの設定を変更します。
再度、コンテナのIPアドレスを取得します。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d5b0c253fe0c centos/apache:web "/usr/sbin/httpd -DF 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp modest_blackwell
#
# docker inspect --format '{{ .NetworkSettings.IPAddress }}' d5b0c253fe0c(CONTAINER ID、NAMES)
172.17.0.5
#
# cat /proc/sys/net/ipv4/ip_forward
1
#
# vi /etc/sysconfig/iptables
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 80 -j ACCEPT
-A FORWARD -p tcp --dport 80 -d 172.17.0.5 -j ACCEPT
こんな感じにインプットとフォワードを設定します。
設定でできたら、iptablesを再起動
# service iptables restart iptables: Setting chains to policy ACCEPT: nat filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ]
これで外部から、
http://ホストのIPアドレス
でコンテナのWebサーバにアクセスできると思います。
[tegaki]いろいろ出来るw[/tegaki]