在 Ubuntu 上使用 Docker 进行远程连接,常见有几种方式,下面按最常用、最安全到简单但不安全的顺序说明。
你在本地电脑,Ubuntu 服务器上装了 Docker,想远程执行 docker 命令。
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh
ssh user@ubuntu_ip docker ps
ssh-keygen
ssh-copy-id user@ubuntu_ip
✅ 优点:安全、简单
❌ 缺点:每次走 SSH
把 /var/run/docker.sock 暴露出来。
❌ 极不安全,仅适合内网测试
默认方式无加密、无认证,容易被入侵
sudo nano /lib/systemd/system/docker.service
找到:
ExecStart=/usr/bin/dockerd -H fd://
改为:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
sudo systemctl daemon-ree x
sudo systemctl restart docker
docker -H tcp://ubuntu_ip:2375 ps
或:
export DOCKER_HOST=tcp://ubuntu_ip:2375
docker ps
✅ 方便
❌ 不安全(千万不要公网开放)
用于加密 + 证书认证,步骤较复杂,一般包括:
如果你需要,我可以一步一步教你生成 TLS 证书并配置。
docker context create remote \
--docker "host=tcp://ubuntu_ip:2375"
docker context use remote
docker ps
| 方式 | 安全性 | 推荐度 |
|---|---|---|
| SSH | ⭐⭐⭐⭐⭐ | ✅ 最佳 |
| TCP 无 TLS | ⭐ | ❌ |
| TCP + TLS | ⭐⭐⭐⭐ | ✅ |
| Docker Context | ⭐⭐⭐⭐ | ✅ |
如果你愿意,可以告诉我:
我可以直接给你最合适的配置方案。