一尘不染

如何通过tcp-socker访问Docker守护进程?

docker

我已经添加了

DOCKER_OPTS="-H tcp://0.0.0.0:2375"

到/ etc / default / docker以使Docker API在我的主机上可访问(我在Ubuntu
VM上的Virtualbox中运行Docker)。但是,当我尝试立即运行任何Docker命令时,我只会收到以下错误消息:

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

我尝试了sudo service docker restart,并重新启动了机器,但没有任何反应。知道是什么问题吗?


阅读 285

收藏
2020-06-17

共1个答案

一尘不染

要通过tcp套接字使用守护程序,-H tcp://0.0.0.0:2375应将选项添加到命令中docker(两者都用于daemonrun)。

要使用默认的unix套接字访问该守护程序,请确保Docker守护程序也使用该选项启动-H=unix:///var/run/docker.sock


请注意,tcp如果您不信任所处的网络,则使用危险。这是手册页中的文档:

   -H, --host=[unix:///var/run/docker.sock]: tcp://[host]:[port][path] to bind or unix://[/path/to/socket] to use.
     The socket(s) to bind to in daemon mode specified using one or more
     tcp://host:port/path, unix:///path/to/socket, fd://* or fd://socketfd.
     If the tcp port is not specified, then it will default to either 2375 when
     --tls is off, or 2376 when --tls is on, or --tlsverify is specified.
2020-06-17