用docker命令行操作远程的Dockerd daemon服务

本地安装 Dockerd 服务太耗本机磁盘空间了,共用已有的Dockerd服务能够节省一部分空间

修改 Dockerd 服务启动文件,增加TCP监听方式

Dockerd 服务默认监听方式为 Unix Domain Socket ,只允许本机连接,想要能够远程连接,需要增设 TCP 监听方式,修改 docker.service 文件 /lib/systemd/system/docker.service(不同环境路径可能不同,具体可以用命令 systemctl status docker.service 查看),在启动命令参数中增加TCP监听 -H tcp://0.0.0.0:2375

shell 复制代码
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always

然后 reload 并重启 Dockerd 服务:

bash 复制代码
systemctl daemon-reload
systemctl restart docker.service

验证 Dockerd 监听:


远程操作 Dockerd 服务

docker 命令默认会连接本地 Dockerd daemon 服务,要连接远程的 Dockerd 需要指定参数 -H--host

每次执行命令都要加参数无疑比较麻烦,docker 命令行还支持用环境变量 DOCKER_HOST 来指定要连接的Dockerd:

把环境变量加入到 ~/.bashrc 或者 /etc/profile 来永久生效

相关推荐
云飞云共享云桌面4 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
Hadoop_Liang5 小时前
使用Kubernetes Gateway API实现域名访问应用
容器·kubernetes·gateway
Maynor9967 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
java_cj8 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
深圳恒讯9 小时前
越南服务器BGP多线和单线有什么区别?
运维·服务器
志栋智能9 小时前
超自动化运维如何提升安全合规水平?
运维·安全·自动化
A_humble_scholar9 小时前
Linux(九) 进程管理完全指南:从入门到实战
linux·运维·chrome
江华森10 小时前
Linux 操作命令完全指南
linux·运维
源图客10 小时前
【AI向量数据库】Weaviate介绍与部署
运维·docker·容器
用什么都重名10 小时前
Git分支合并与远程服务器同步实战:保留关键配置文件
运维·服务器·git