设置dockerIP和端口阻止我使用dockerPS -A
我开始在一个指定的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和端口。 有没有解决的办法? 我如何启动docker在特定的IP和端口,仍然使用docker ps
命令列出我的容器?
更新:
我尝试使用-H标志:
docker -H tcp://192.168.1.164:4243 ps
这个命令挂起。 我认为这是因为-H只用于启动docker并将其绑定到一个IP和端口。
操作系统:Ubuntu 12.04.4 LTS
谢谢。
未经testing,但文档build议在您的客户端命令上使用-H
选项或设置DOCKER_HOST
:
$ docker -H tcp://192.168.1.164:4243 ps
要么 :
$ export DOCKER_HOST="tcp://192.168.1.164:4243" # Then: $ docker ps
编辑:
我启动了一个新的stream浪汉12.04机器,安装了docker,运行了几个默认configuration的容器,然后运行:
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
所以,一般来说,它是有效的。 你的环境有什么特别之处,这很难说。