温馨提示×

Ubuntu Docker如何进行远程管理

小樊
58
2025-06-23 09:26:35
栏目: 智能运维

要在Ubuntu上远程管理Docker,您可以按照以下步骤进行配置:

1. 配置Docker服务以监听远程请求

首先,您需要修改Docker的配置文件以允许远程访问。

  • 打开 /lib/systemd/system/docker.service 文件并备份:

    sudo cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak
    
  • 编辑Docker配置文件:

    sudo nano /lib/systemd/system/docker.service
    
  • 找到 ExecStart 这一行,将其替换为以下内容,以允许Docker监听在所有IP地址的2375端口(非加密,仅限内网使用):

    ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375
    
  • 保存并退出编辑器。

2. 配置防火墙以允许Docker端口通信

默认情况下,Docker使用2375端口。您需要确保防火墙允许外部访问该端口。

  • 允许TCP访问2375端口:

    sudo ufw allow 2375/tcp
    
  • 重新加载防火墙规则:

    sudo ufw reload
    

3. 测试远程连接

在配置完成后,您可以在一台远程设备上使用Docker客户端进行连接测试。

  • 使用以下命令连接到远程Docker守护进程:

    docker -H tcp://<你的Ubuntu服务器的IP>:2375 info
    

    如果一切正常,这条命令应该会返回Docker服务器的信息。

4. 增强安全性(可选)

为了提高安全性,建议使用TLS加密连接。

  • 生成TLS证书

    mkdir -p /etc/docker/certs && cd /etc/docker/certs
    openssl genrsa -aes256 -out ca-key.pem 4096
    openssl req -new -x509 -days 3650 -key ca-key.pem -sha256 -out ca.pem
    
  • 编辑Docker配置文件以启用TLS

    sudo nano /etc/docker/daemon.json
    

    添加以下内容:

    {
      "debug": true,
      "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"],
      "tlsverify": true,
      "tlscacert": "/etc/docker/certs/ca.pem",
      "tlskey": "/etc/docker/certs/ca-key.pem"
    }
    
  • 重启Docker守护进程:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  • 客户端配置: 在客户端计算机上,设置环境变量以连接到远程Docker守护进程:

    export DOCKER_HOST=tcp://<你的Ubuntu服务器的IP>:2376
    

    使用以下命令测试连接:

    docker info
    

通过上述步骤,您可以在Ubuntu上成功配置Docker的远程访问,并确保连接的安全性。请注意,在生产环境中,使用加密连接(例如2376端口)是非常重要的,以确保不被攻击者恶意访问。配置完成后,别忘了重启Docker服务以使更改生效。

0