Docker 可以通过几种方式连接到远程服务器,以下是主要的几种方法:
在远程服务器上配置 Docker 守护进程:
/etc/docker/daemon.json
文件(如果不存在则创建):
json
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
/lib/systemd/system/docker.service
,将 ExecStart
改为:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
在本地机器上设置环境变量:
export DOCKER_HOST="tcp://<远程服务器IP>:2375"
现在本地 Docker 命令将连接到远程服务器。
bash
export DOCKER_HOST="ssh://user@remote-server"
bash
docker ps
bash
docker context create remote-server --docker "host=ssh://user@remote-server"
bash
docker context use remote-server
bash
docker info
json
{
"tls": true,
"tlscacert": "/path/to/ca.pem",
"tlscert": "/path/to/server-cert.pem",
"tlskey": "/path/to/server-key.pem",
"tlsverify": true
}
bash
docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=remote-server:2376 ps
选择最适合您需求的方法,对于日常使用,Docker Context 结合 SSH 是最简单安全的选择。