使用本指南http://docs.graylog.org/en/1.1/pages/installation/docker.html我在Ubuntu 14.04服务器上设置了Docker容器。
第一次使用命令,按预期启动容器。
docker run -t -p 9000:9000 -p 12201:12201 graylog2/allinone
我能够打开端口9000上公开的Web界面。
当我停止Container并尝试使用相同的命令再次运行它时,我收到此错误:
Error response from daemon: Cannot start container c5cc5831fe854801345ffa2370fdb4f00f4182e209fe1af78233c93be3952bb1:
iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 12201 -j
DNAT --to-destination 172.17.0.9:12201 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)
在没有任何-p参数的情况下启动容器会导致正在运行的容器。但港口似乎没有曝光。我无法访问网络界面。 " docker ps"的输出看起来像这样:
84d322d35d58 graylog2/allinone "/opt/graylog/embedd 9 minutes ago Up 9 minutes
443/tcp, 514/tcp, 4001/tcp, 9000/tcp, 514/udp,
12201/tcp, 12900/tcp, 12201/udp focused_elion
对我而言,看起来端口是暴露的。但是主机没有将请求转发到Docker容器。
删除容器并重新安装Docker并再次安装Container后,它会在第一次启动时再次运行。但第二次失败了。
欢迎任何提示或指示!
答案 0 :(得分:0)
希望docs.docker.com的以下段落可以帮到你。为我工作......
糟糕!在你停下容器后,你接到电话说 另一个开发人员需要回收容器。从这里你有两个 选项:您可以创建新容器或重新启动旧容器。让我们 看看开始我们以前的容器备份。
getview
现在再次快速运行
$ docker start nostalgic_morse nostalgic_morse
以查看正在运行的容器 备份或浏览到容器的URL以查看应用程序 响应。注意:同样可用的是运行停止的docker restart命令 然后从容器开始。