Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 当我遇到EOF错误时,如何让2个容器链接_Docker - Fatal编程技术网

Docker 当我遇到EOF错误时,如何让2个容器链接

Docker 当我遇到EOF错误时,如何让2个容器链接,docker,Docker,我已经在我的机器上设置了docker io,并且我的用户属于docker组,所以运行docker映像没有问题。我有一个基于节点0.10.38的图像,可以这样运行: docker run -d --name=original_node --expose=5858,8081 \ -v /opt/users/pwebster:/opt/users/pwebster \ pwebster/openacademy:v01 node --debug server.js \ -c /opt/use

我已经在我的机器上设置了docker io,并且我的用户属于docker组,所以运行docker映像没有问题。我有一个基于节点0.10.38的图像,可以这样运行:

docker run -d --name=original_node --expose=5858,8081 \
  -v /opt/users/pwebster:/opt/users/pwebster \
  pwebster/openacademy:v01 node --debug server.js \
  -c /opt/users/pwebster/orion/nodejs/search-orion.conf
这个很好用。当我将第二个容器链接到第一个容器时,它失败了,出现了一个有点神秘的错误:

docker run  --link=original_node:pw --name=link_node \
  -v /opt/users/pwebster:/opt/users/pwebster -ti \
  pwebster/openacademy:v01 /bin/bash -l
然后,此命令返回一个错误:

FATA[0001] Post http:///var/run/docker.sock/v1.16/containers/9af64a9c282b3fbec613eec2f79f05b12919a5c558f722a0ccb292b2e96ec475/start: EOF. Are you trying to connect to a TLS-enabled daemon without TLS? 
这些配置没有任何特别之处,搜索返回大量
您是否试图连接到启用TLS的守护进程而不使用TLS?
,这似乎是默认错误消息,但没有一条提到Post故障的消息在结尾处有“/start”

它只包括导致
docker运行失败的
--链接。如有任何提示,我们将不胜感激

编辑:docker-d-d日志

当我使用
/bin/bash
--link
再次运行映像时,我在
/var/log/docker
中得到以下内容

time="2015-04-22T08:49:19-04:00" level="debug" msg="Calling POST /containers/{name:.*}/start" 
time="2015-04-22T08:49:19-04:00" level="info" msg="POST /v1.16/containers/6f14a062cd1589d2c40238ec04042f54c7092702bad1a8ec977099aa3addfa67/start" 
time="2015-04-22T08:49:19-04:00" level="info" msg="-job allocate_interface(6f14a062cd1589d2c40238ec04042f54c7092702bad1a8ec977099aa3addfa67) = OK (0)" 
time="2015-04-22T08:49:19-04:00" level="info" msg="+job link(-I)" 
time="2015-04-22T08:49:19-04:00" level="info" msg="-job link(-I)" 
time="2015-04-22T08:49:19-04:00" level="info" msg="-job start(6f14a062cd1589d2c40238ec04042f54c7092702bad1a8ec977099aa3addfa67)" 
2015/04/22 08:49:19 http: panic serving @: strconv.ParseUint: parsing "5858,8081": invalid syntax
goroutine 73 [running]:
net/http.func·011()
    /usr/lib/golang/src/pkg/net/http/server.go:1100 +0xb7
runtime.panic(0xa38a20, 0xc2080e4600)
    /usr/lib/golang/src/pkg/runtime/panic.c:248 +0x18d
github.com/docker/docker/nat.Port.Int(0xc20863f300, 0xd, 0xc20863f30a)
    /builddir/build/BUILD/docker-1.4.1/_build/src/github.com/docker/docker/nat/nat.go:57 +0x98
github.com/docker/docker/daemon/networkdriver/bridge.LinkContainers(0xc2084f2f80, 0x7f25313d78a8)
[...snip...]
time="2015-04-22T08:49:19-04:00" level="debug" msg="Closing buffered stdin pipe" 
time="2015-04-22T08:49:19-04:00" level="debug" msg="attach: stdin: end" 
time="2015-04-22T08:49:19-04:00" level="debug" msg="attach: job 1 completed successfully" 
time="2015-04-22T08:49:19-04:00" level="debug" msg="attach: waiting for job 2/3" 
time="2015-04-22T08:49:19-04:00" level="debug" msg="attach: stdout: end" 
time="2015-04-22T08:49:19-04:00" level="debug" msg="attach: stderr: end" 
我猜这意味着它不喜欢我的
--expose=58588081

我将原始容器上的
--expose=58588081
更改为
--expose=5858--expose=8081
,问题就消失了


看起来我误用了expose标志。

使用debug with
docker-d-d
(摘录自)运行守护进程,并发布消息感谢这一建议,它确实有助于调试。