抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

docker 提供 rest api 服务,开启后可以使用第三方管理工具进行 Docker 管理。一般情况下,会使用 2375 端口号。

前置条件

具备 Docker 实验环境。

本次使用的实验环境如下:

系统 版本信息
Linux Ubuntu Server 22.04
Unraid 6.11.5
群晖 7.2.1

Linux 开启 Docker 远程 API

修改配置文件

打开 docker 的 systemd 服务注册文件

1
sudo nano /lib/systemd/system/docker.service

查看 13 行左右的 execStart,是否有类似“-H tcp://0.0.0.0:2375”的参数:

1
2
3
4
#### 找到[Service]下面的(修改前)
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
#### 改为如下(修改后)
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --containerd=/run/containerd/containerd.sock

重启服务

1
2
sudo systemctl daemon-reload          # 重新加载守护进程配置
sudo systemctl restart docker.service # 重启 docker 服务

Shell 脚本自动化

每次使用包管理器升级 docker 后,配置都会重置,需要重新添加。这里提供一个 Shell 脚本用于定时作业自动化执行,减少繁琐的手动配置。

Shell 脚本内容如下:

1
2
3
4
5
6
7
8
9
10
if test -z "$(cat /usr/lib/systemd/system/docker.service | grep 2375)"; #判断是否不存在关键字2375
then
echo "不存在关键字2375,执行自动添加。"
sudo sed -i 's#ExecStart=.*#ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --containerd=/run/containerd/containerd.sock#' /usr/lib/systemd/system/docker.service
sudo systemctl daemon-reload # 重新加载守护进程配置
sudo systemctl restart docker.service # 重启 docker 服务
echo "不存在关键字2375,自动添加、重启服务完成。"
else
echo "存在关键字2375,结束。"
fi

这里使用 1Panel 的计划任务功能实现定时作业,如下图:OS_UPDATE为每月执行一次的更新系统,ENABLE_DOCKER_API放在其之后执行,以便能达到 docker 升级后自动化开启远程 API 的效果。

Snipaste_2024-04-27_15-32-02

Unraid 开启 Docker 远程 API

修改配置文件

打开配置文件

1
vi /boot/config/docker.cfg

最下方添加

1
DOCKER_OPTS="--storage-driver=btrfs -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375"

重启服务

1
/etc/rc.d/rc.docker restart

群晖 DSM 开启 Docker 远程 API

修改配置文件

DSM 7.2 以后,Docker 更名为 Container Manager,所以配置文件路径不一样

1
2
3
4
###docker改名前
sudo vi /var/packages/Docker/etc/dockerd.json
###docker改名Container Manager后
sudo vi /var/packages/ContainerManager/etc/dockerd.json

重启服务

完成后到套件中心停用 - 启用 docker 套件。

参考

-EOF

查看最新版,请访问本文链接:https://blog.onehat.cn/p/2c94.html

原创作品,转载请保留出处。

评论