Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets Docker守护程序已连接到:2375上的套接字_Sockets_Docker_Systemd - Fatal编程技术网

Sockets Docker守护程序已连接到:2375上的套接字

Sockets Docker守护程序已连接到:2375上的套接字,sockets,docker,systemd,Sockets,Docker,Systemd,我已将Docker版本1.12的systemd配置为在端口2375上侦听 [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target [Service] Type=notify ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 ExecReload=/bin/kill -s HUP

我已将Docker版本1.12的systemd配置为在端口2375上侦听

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375
ExecReload=/bin/kill -s HUP
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target
因此:

*tcp6       0      0 :::2375                 :::*                    LISTEN*
但是,当我尝试在运行docker的主机的终端上使用“docker”命令时,我得到以下结果:

    [root@docker1-12 ~]# docker images
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Even though the docker.service is actually running:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-12-30 14:50:53 AEDT; 1min 32s ago
     Docs: https://docs.docker.com
 Main PID: 4976 (dockerd)
   Memory: 21.1M
   CGroup: /system.slice/docker.service
           ├─4976 /usr/bin/dockerd -H tcp://0.0.0.0:2375
           └─4982 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime do...

Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.083736426+11:00" level=info msg="[graphdriver] using prior storage driver \"devicemapper\""
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.091254467+11:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.095445562+11:00" level=info msg="Loading containers: start."
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.128643621+11:00" level=info msg="Firewalld running: true"
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.919797126+11:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.274835533+11:00" level=info msg="Loading containers: done."
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.275468481+11:00" level=info msg="Daemon has completed initialization"
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.275501250+11:00" level=info msg="Docker daemon" commit=7392c3b graphdriver=devicemapper version=1.12.5
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.285288956+11:00" level=info msg="API listen on [::]:2375"
Dec 30 14:50:53 docker1-12 systemd[1]: Started Docker Application Container Engine.
export DOCKER_HOST="tcp://0.0.0.0:2375"
docker ps
我怎样才能解决这个问题?i、 e.让docker监听端口:2375,同时能够在主机上本地运行docker命令

注意 我发现以下配置是一种解决方法。但是,这似乎不适用于Docker 1.12版:

Environment="DOCKER_OPTS=-H tcp://0.0.0.0:2375 --exec-opt native.cgroupdriver=cgroupfs"
ExecStart=/usr/bin/docker daemon -H fd://  \$DOCKER_OPTS

我可以想出两个选择:

1.更改您的
systemd
单位文件:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
这样,您将在tcp上侦听网络
API
调用,并在
unix sock
上侦听本地
docker cli

2.尝试使用docker cli进行连接时,请使用以下命令:

    [root@docker1-12 ~]# docker images
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Even though the docker.service is actually running:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-12-30 14:50:53 AEDT; 1min 32s ago
     Docs: https://docs.docker.com
 Main PID: 4976 (dockerd)
   Memory: 21.1M
   CGroup: /system.slice/docker.service
           ├─4976 /usr/bin/dockerd -H tcp://0.0.0.0:2375
           └─4982 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime do...

Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.083736426+11:00" level=info msg="[graphdriver] using prior storage driver \"devicemapper\""
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.091254467+11:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.095445562+11:00" level=info msg="Loading containers: start."
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.128643621+11:00" level=info msg="Firewalld running: true"
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.919797126+11:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.274835533+11:00" level=info msg="Loading containers: done."
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.275468481+11:00" level=info msg="Daemon has completed initialization"
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.275501250+11:00" level=info msg="Docker daemon" commit=7392c3b graphdriver=devicemapper version=1.12.5
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.285288956+11:00" level=info msg="API listen on [::]:2375"
Dec 30 14:50:53 docker1-12 systemd[1]: Started Docker Application Container Engine.
export DOCKER_HOST="tcp://0.0.0.0:2375"
docker ps
同一班轮的效果相同:

sudo docker -H tcp://0.0.0.0:2375 ps

我可以想出两个选择:

1.更改您的
systemd
单位文件:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
这样,您将在tcp上侦听网络
API
调用,并在
unix sock
上侦听本地
docker cli

2.尝试使用docker cli进行连接时,请使用以下命令:

    [root@docker1-12 ~]# docker images
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Even though the docker.service is actually running:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-12-30 14:50:53 AEDT; 1min 32s ago
     Docs: https://docs.docker.com
 Main PID: 4976 (dockerd)
   Memory: 21.1M
   CGroup: /system.slice/docker.service
           ├─4976 /usr/bin/dockerd -H tcp://0.0.0.0:2375
           └─4982 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime do...

Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.083736426+11:00" level=info msg="[graphdriver] using prior storage driver \"devicemapper\""
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.091254467+11:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.095445562+11:00" level=info msg="Loading containers: start."
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.128643621+11:00" level=info msg="Firewalld running: true"
Dec 30 14:50:52 docker1-12 dockerd[4976]: time="2016-12-30T14:50:52.919797126+11:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.274835533+11:00" level=info msg="Loading containers: done."
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.275468481+11:00" level=info msg="Daemon has completed initialization"
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.275501250+11:00" level=info msg="Docker daemon" commit=7392c3b graphdriver=devicemapper version=1.12.5
Dec 30 14:50:53 docker1-12 dockerd[4976]: time="2016-12-30T14:50:53.285288956+11:00" level=info msg="API listen on [::]:2375"
Dec 30 14:50:53 docker1-12 systemd[1]: Started Docker Application Container Engine.
export DOCKER_HOST="tcp://0.0.0.0:2375"
docker ps
同一班轮的效果相同:

sudo docker -H tcp://0.0.0.0:2375 ps

谢谢您@Farhad Farahi先生。第二种方法非常有效。我将0.0.0.0:2375添加到我的/etc/environment中的no_proxy下,因为我正在这个实例上使用代理。再次感谢您的帮助。谢谢您@Farhad Farahi,先生。第二种方法非常有效。我将0.0.0.0:2375添加到我的/etc/environment中的no_proxy下,因为我正在这个实例上使用代理。再次感谢你的帮助。