插件窝 干货文章 如何使用 Docker 连接到远程服务器

如何使用 Docker 连接到远程服务器

Docker 远程 使用 服务器 115    来源:    2025-04-30

使用 Docker 连接到远程服务器

Docker 可以通过几种方式连接到远程服务器,以下是主要的几种方法:

方法一:配置 Docker 远程 API

  1. 在远程服务器上配置 Docker 守护进程

    • 编辑 /etc/docker/daemon.json 文件(如果不存在则创建): json { "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] }
    • 或者修改 systemd 服务文件 /lib/systemd/system/docker.service,将 ExecStart 改为: ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
    • 重启 Docker 服务: bash sudo systemctl daemon-reload sudo systemctl restart docker
  2. 在本地机器上设置环境变量

    export DOCKER_HOST="tcp://<远程服务器IP>:2375"
    

    现在本地 Docker 命令将连接到远程服务器。

方法二:使用 SSH 连接

  1. 确保远程服务器已安装 Docker 并允许 SSH 访问
  2. 在本地设置环境变量bash export DOCKER_HOST="ssh://user@remote-server"
  3. 现在可以像使用本地 Docker 一样操作远程 Dockerbash docker ps

方法三:使用 Docker Context(推荐)

  1. 创建新的 Docker 上下文bash docker context create remote-server --docker "host=ssh://user@remote-server"
  2. 切换到远程上下文bash docker context use remote-server
  3. 验证连接bash docker info

安全注意事项

  1. 不建议直接开放 2375 端口,这会使 Docker API 暴露在网络上
  2. 更安全的方式
    • 使用 SSH 隧道
    • 启用 TLS 认证
    • 使用 VPN 连接

启用 TLS 的安全连接(高级)

  1. 生成 CA 和服务器/客户端证书
  2. 配置 Docker 守护进程使用 TLS: json { "tls": true, "tlscacert": "/path/to/ca.pem", "tlscert": "/path/to/server-cert.pem", "tlskey": "/path/to/server-key.pem", "tlsverify": true }
  3. 客户端连接时使用: bash docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=remote-server:2376 ps

选择最适合您需求的方法,对于日常使用,Docker Context 结合 SSH 是最简单安全的选择。