为什么docker命令默认情况下通过tcp连接到守护进程

时间:2019-03-08 09:46:56

标签: docker ubuntu

默认情况下,将Docker配置为侦听套接字(Ubuntu 18.04)。

  

$ ps aux | grep码头工人   根1966 0.2 0.4 1451444 69700?
  Ssl 09:57 0:01 / usr / bin / dockerd -H fd://   --containerd = / run / containerd / containerd.sock

但是当我运行docker ps时,它会引发:

  

$ docker ps   无法在以下位置连接到Docker守护程序   tcp://127.0.0.1:2375。 docker守护程序正在运行吗?

我需要指定:

  

$ docker -H unix:///var/run/docker.sock ps   集装箱ID图片
  命令创建的状态端口   名称7ffd2dc852f2 jwilder / nginx-proxy
  “ / app / docker-entrypo…” 5分钟前上5分钟
  0.0.0.0:80->80/tcp nginx代理

然后工作正常,但是为什么cli想要默认通过tcp连接守护进程?如何避免呢?

1 个答案:

答案 0 :(得分:0)

如果设置为

docker客户端,则使用DOCKER_HOST环境值,否则默认为unix:///var/run/docker.sock。检查是否设置了DOCKER_HOST环境变量?