设置docker ip和port阻止我使用docker ps -a

时间:2014-05-22 15:23:37

标签: docker

我在指定的ip和端口上启动docker,如下所示:

sudo docker -H 192.168.1.164:4243 -d

然后,我可以通过API进行API调用以获取容器列表:

curl -XGET http://192.168.1.164:4243/containers/json?all=1

上面的命令成功返回容器列表。

但是,当我运行docker ps -a时,我收到以下错误:

Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

我看不出如何在docker ps命令中设置ip和port。有没有解决的办法?如何在特定的IP和端口启动docker 仍然使用docker ps命令列出我的容器?

更新:

我尝试使用-H标志:

docker -H tcp://192.168.1.164:4243 ps此命令挂起。我认为这是因为-H仅在启动docker并将其绑定到ip和端口时使用。

操作系统:Ubuntu 12.04.4 LTS

感谢。

1 个答案:

答案 0 :(得分:2)

未经测试,但docs建议您在客户端命令中使用-H选项或设置DOCKER_HOST

$ docker -H tcp://192.168.1.164:4243 ps

或者:

$ export DOCKER_HOST="tcp://192.168.1.164:4243"
# Then:
$ docker ps

编辑:

我启动了一台新鲜的流浪汉12.04机器,安装了docker,针对默认配置运行了几个样本容器,然后运行:

sudo service docker stop
sudo docker -H 10.0.2.15:4243 -d &
sudo docker -H 10.0.2.15:4243 ps -a

docker ps的输出(包括背景守护进程):

2014/05/22 22:42:16 GET /v1.11/containers/json?all=1
[92cd0057] +job containers()
[92cd0057] -job containers() = OK (0)
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
dcd486abb7b4        ubuntu:14.04        ls                  2 minutes ago       Exited (0) 2 minutes ago                       furious_kowalevski    
d9d31c5e6baa        ubuntu:14.04        /bin/bash           2 minutes ago       Exited (0) 2 minutes ago                       backstabbing_yonath   
9b77e6035ca2        ubuntu:14.04        /bin/bash           2 minutes ago       Exited (0) 2 minutes ago                       clever_newton

所以,总的来说,它有效。你的环境有什么特别之处,很难说。