连接到远程 docker 主机

dot*_*tep 3 docker docker-machine

我有以下场景。

  1. 二机(物理机)
  2. 一个是在 Windows 安装程序上安装了 Docker 的 Windows 10 和安装了 docker-ce 的 ubuntu 18.04。
  3. 我可以对个人运行命令,这很好。
  4. 我想从 Windows 机器上的 Docker 连接 Ubuntu Docker 主机。因此,Windows 上的 Docker CLI 指向 Ubuntu 主机上的 deamon。

小智 5

您需要通过在 daemon.json 或您的启动脚本中添加以下设置来在 Ubuntu Docker 主机上启用 docker 远程 API

[root@localhost ~]# cat /etc/docker/daemon.json
{
  "hosts": [ "unix:///var/run/docker.sock", "tcp://0.0.0.0:2376" ]
}
Run Code Online (Sandbox Code Playgroud)

重新启动 docker 后,您可以通过套接字文件在本地连接到 docker 主机,也可以通过侦听端口 (2376) 远程连接到 docker 主机。在Ubuntu上验证docker的监听端口

[root@localhost ~]# netstat -ntlp | grep 2376
tcp6       0      0 :::2376                 :::*                    LISTEN      1169/dockerd
Run Code Online (Sandbox Code Playgroud)

现在你可以通过在 Windows 中设置 DOCKER_HOST env 变量来从 Windows 机器连接到这个 docker 像这样

PS C:\Users\YellowDog> set DOCKER_HOST=tcp://<Ubuntu-Docker_Host-IP>:2376
PS C:\Users\YellowDog> docker ps
Run Code Online (Sandbox Code Playgroud)

它将列出在 Ubuntu Docker 主机上运行的 docker 容器