📜  连接到 temote docker daemon (1)

📅  最后修改于: 2023-12-03 15:12:20.455000             🧑  作者: Mango

连接到远程 Docker 守护程序

Docker 是一种流行的容器化技术,可以帮助开发人员快速构建、部署和管理应用程序。Docker 守护程序可在本地机器上运行,也可以在远程服务器上运行。在本文中,我们将介绍如何连接到远程 Docker 守护程序。

步骤
  1. 在本地机器上安装 Docker。安装教程可以参考 Docker 官方文档

  2. 确认远程服务器上已安装 Docker,并且 Docker 守护程序已在运行状态。如果远程服务器上的 Docker 守护程序未在运行状态,请使用以下命令启动它:

    sudo systemctl start docker
    
  3. 在远程服务器上配置 Docker 守护程序以允许远程连接。如果您使用的是 Ubuntu 系统,则需要编辑 systemd 文件 /lib/systemd/system/docker.service,并将 ExecStart 命令行参数更改为以下内容:

    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    

    如果您使用的是 CentOS 或其他 Linux 发行版,则需要编辑 /etc/docker/daemon.json 文件,并添加以下内容:

    {
        "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
    }
    
  4. 重新启动 Docker 守护程序以使更改生效。

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  5. 在本地机器上打开终端,并运行以下命令以连接到远程 Docker 守护程序:

    export DOCKER_HOST=tcp://<REMOTE_SERVER_IP>:2375
    

    <REMOTE_SERVER_IP> 替换为远程服务器的 IP 地址。如果您连接到的是使用 SSH 的远程服务器,则可以使用以下命令代替上面的命令:

    ssh -L 2375:localhost:2375 <REMOTE_SERVER_IP>
    export DOCKER_HOST=:2375
    
  6. 确认已连接到远程 Docker 守护程序。运行以下命令:

    docker info
    

    如果一切正常,您将看到远程 Docker 守护程序的详细信息。

    Client:
     Debug Mode: false
    
    Server:
     Containers: 0
     Running: 0
     Paused: 0
     Stopped: 0
    ...
    
结论

通过以上步骤,您已成功连接到远程 Docker 守护程序。您现在可以在本地机器上运行 Docker 命令,并将其作用于远程服务器上的容器或镜像。例如,要在远程服务器上列出所有正在运行的容器,请运行以下命令:

docker ps

可参考以下资料:

  1. Docker 官方文档
  2. How to Enable Remote Access to Docker Daemon