请稍侯

群晖dsm72 修改docker

20 December 2024

群晖DSM7.2 修改Docker配置文件,并重启Docker服务生效

问题描述 默认情况下,Docker不允许通过HTTP访问不安全的注册表。这意味着如果您尝试推送或拉取镜像到一个通过HTTP访问的私有Docker Registry,会出现错误。为了允许这种访问,您需要修改Docker守护进程的配置。

步骤一:修改Docker配置文件

登录到群晖NAS: 使用SSH连接到您的群晖NAS。可以使用终端或PuTTY等SSH客户端。

切换到超级用户: 使用以下命令切换到超级用户:

sudo -i

找到synology docker 守护进程的配置文件: 群晖NAS的Docker守护进程配置文件位于/var/packages/ContainerManager/etc/dockerd.json

编辑群晖 docker 配置文件: 使用vi或其他文本编辑器打开配置文件:

vi /var/packages/ContainerManager/etc/dockerd.json

添加不安全的注册表,也可以添加国内镜像源: 在配置文件中添加您的私有Docker Registry URL。例如,如果您的私有Docker Registry URL是http://images.ceshi.com:6666,则添加以下内容:

{
  "data-root": "/var/packages/ContainerManager/var/docker",
  "insecure-registries": ["docker.xxxx.com", "xxx.docker"],
  "log-driver": "db",
  "registry-mirrors": ["https://hub-mirror.c.163.com","https://dockerhub.azk8s.cn","https://mirror.ccs.tencentyun.com"],
  "storage-driver": "btrfs"
}

保存并退出: 保存配置文件并退出编辑器。按Esc键,输入:wq并按Enter键。

步骤二:重启Docker服务

重启Docker服务: 在SSH终端中,使用以下命令重启Docker服务:

sudo synosystemctl restart pkgctl-ContainerManager

确认服务已重启: 您可以通过以下命令检查服务状态,以确认服务是否已成功重启:

sudo synosystemctl status pkgctl-ContainerManager
步骤三:验证配置

登录到私有Docker Registry, 使用以下命令验证是否可以通过HTTP访问您的私有Docker Registry:

docker login images.ceshi.com:6666

系统会提示您输入用户名和密码。输入正确的认证信息后,应显示登录成功的信息。

推送镜像到私有Docker Registry: 如果能够成功登录,请尝试推送一个镜像以确保配置正确:

docker tag my-image:latest images.ceshi.com:6666/my-image:latest
docker push images.ceshi.com:6666/my-image:latest

验证推送: 您可以通过Docker Registry Browser或使用curl命令检查镜像是否已成功推送到私有注册表:

curl -u username:password http://images.ceshi.com:6666/v2/_catalog

通过这些步骤,您可以在群晖DSM7.2上修改Docker配置文件,并重启Docker服务以使更改生效,从而允许通过HTTP访问不安全的私有Docker Registry。这样,您可以更加灵活地管理和存储您的Docker镜像。

参考:群晖DSM7.2 修改Docker配置文件,并重启Docker服务生效