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

时间:2025-03-23 21:06:07

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

在这篇文章中,我们将介绍如何在群晖DSM7.2上修改Docker配置文件,并重启Docker服务以使更改生效。我们将逐步指导您如何配置Docker守护进程以允许通过HTTP访问不安全的注册表,并验证配置是否正确。

前提条件
  • 群晖NAS设备运行DSM 7.2
  • 群晖NAS上已安装Docker

问题描述

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

步骤一:修改Docker配置文件

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

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

    sudo -i
    
  3. 找到Docker守护进程的配置文件
    群晖NAS的Docker守护进程配置文件位于/var/packages/ContainerManager/etc/

  4. 编辑配置文件
    使用vi或其他文本编辑器打开配置文件:

    vi /var/packages/ContainerManager/etc/
    
  5. 添加不安全的注册表
    在配置文件中添加您的私有Docker Registry URL。例如,如果您的私有Docker Registry URL是:6666,则添加以下内容:

    {
      "data-root": "/var/packages/ContainerManager/var/docker",
      "insecure-registries": [":6666"],
      "log-driver": "db",
      "registry-mirrors": ["https://weathered-mode-6250.", "https://docker."],
      "storage-driver": "btrfs"
    }
    
  6. 保存并退出
    保存配置文件并退出编辑器。按Esc键,输入:wq并按Enter键。

步骤二:重启Docker服务

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

    sudo synosystemctl restart pkgctl-ContainerManager
    
  2. 确认服务已重启
    您可以通过以下命令检查服务状态,以确认服务是否已成功重启:

    sudo synosystemctl status pkgctl-ContainerManager
    

步骤三:验证配置

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

    docker login :6666
    

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

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

    docker tag my-image:latest :6666/my-image:latest
    docker push :6666/my-image:latest
    
  3. 验证推送
    您可以通过Docker Registry Browser或使用curl命令检查镜像是否已成功推送到私有注册表:

    curl -u username:password :6666/v2/_catalog
    

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