设置docker ip和端口可防止我使用docker ps-a
我在指定的ip和端口上启动docker,如下所示:设置docker ip和端口可防止我使用docker ps-a,docker,Docker,我在指定的ip和端口上启动docker,如下所示: sudo docker -H 192.168.1.164:4243 -d 然后,我可以通过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 o
sudo docker -H 192.168.1.164:4243 -d
然后,我可以通过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和端口。有办法解决这个问题吗?如何在特定的ip和端口启动docker,并且仍然使用docker ps
命令列出我的容器
更新:
我尝试使用-H标志:
docker-Htcp://192.168.1.164:4243 ps
此命令挂起。我认为这是因为-H仅在启动docker并将其绑定到ip和端口时使用
操作系统:Ubuntu 12.04.4 LTS
谢谢。未经测试,但建议在客户端命令或设置DOCKER\u主机上使用-H
选项:
$ docker -H tcp://192.168.1.164:4243 ps
或:
编辑:
我启动了一台fresh vagrant 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的输出(包括来自后台守护程序):
所以,总的来说,它是有效的。很难说您的环境有什么特别之处。谢谢您的提醒。我应该提到我试过-H标志。-H标志将守护进程绑定到ip和端口。不是我想要的。我会更新我的问题。-H
也适用于Docker客户端,我100%确信这一点。如果使用-H something
选项启动守护程序(-d
),则还应使用相同的选项使客户端与守护程序通信。@oeuftete I未正确传递-H参数。谢谢你的回答。
sudo service docker stop
sudo docker -H 10.0.2.15:4243 -d &
sudo docker -H 10.0.2.15:4243 ps -a
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