我有以下iptables(em1是我的物理IP接口):
IPT="/sbin/iptables"
$IPT -A FORWARD -i docker0 -o em1 -j ACCEPT
$IPT -A FORWARD -i em1 -o docker0 -j ACCEPT
JENKINS_PORT="10000"
$IPT -A INPUT -p tcp --dport $JENKINS_PORT -j ACCEPT
$IPT -A OUTPUT -p tcp --sport $JENKINS_PORT -j ACCEPT
我已经停止使用/etc/docker/deamon.json
和"iptables": false
来操作iptables的docker形式,如docker docs中所述。这就是为什么我必须按照此post中的建议添加FORWARD
规则的原因。
每当我启动NGinx容器时:
docker run --rm --name some-nginx -d -p 10000:80 nginx:stable-alpine
它有效,进入MY_IP:10000
但是当我运行(停止NGinx容器后)时,jenkins使用以下命令:
docker run -u root --rm -d -p 10000:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
浏览器无法加载jenkins的主页,并且保持超时。在这两种情况下,我都可以远程登录到该端口,并且该端口是开放的,但詹金斯似乎无法正常工作。
似乎是问题所在,以及如何解决此问题?