嘿,我对这些码头工作的东西很陌生。我尝试用bitbucket启动一个docker容器,但是我得到了这个输出。
root@rv1175:~# docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server
6da32052deeba204d5d08518c93e887ac9cc27ac10ffca60fa20581ff45f9959
docker: Error response from daemon: driver failed programming external connectivity on endpoint bitbucket (55d12e0e4d76ad7b7e8ae59d5275f6ee85c8690d9f803ec65fdc77a935a25110): (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.2 --dport 7999 -j ACCEPT: iptables: No chain/target/match by that name.
(exit status 1)).
root@rv1175:~#
每当我尝试激活任何泊坞窗时,我都得到了相同的输出 容器。有人能帮助我吗?
P.S。还有一个问题。
172.1.0.2是什么意思?我只能说,这不是我的IP。
答案 0 :(得分:0)
172.1 7 .0.2将是分配给默认Docker桥接网络(docker0虚拟接口)中的容器的IP。虽然您正在指示Docker引擎发布"但是从外部无法访问这些内容。 (在Docker术语中)两个端口。
为此,引擎使用iptables创建端口转发规则,该规则将(在您的情况下)所有传入流量转发到主机的所有接口上的端口tcp / 7990和tcp / 7999到172.17.0.2上的相同端口docker0接口(容器中的进程有望收听)。
看起来DOCKER iptables链不存在这种情况。也许你有其他工具操纵iptables可能会删除Docker引擎正在做的事情。尝试识别它们并重新启动Docker引擎(它应该在启动时重新创建所有内容)。
您还可以通过适当地配置Docker守护程序来指示引擎不要操作iptables。如果要使用网桥驱动程序,您需要自己设置(尽管您也可以使用主机驱动程序)。 Here就是这样做的好例子。