GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content

Dockerctl

Dockerctl 是一个 Docker 服务管理工具,用于管理 Docker 守护进程的生命周期和配置。

注意

请使用 root 用户运行。

命令说明

dockerctl 是一个命令行工具,旨在简化对 Docker 守护程序及其资源的管理。它不用于替代日常命令(如 docker rundocker ps),而是作为管理底层 Docker 服务本身的便捷封装。

主要功能包括:

  • 服务控制:轻松启动、停止、重启 Docker 引擎,并检查其状态。
  • 系统清理:提供 prune 命令,可快速清理未使用的容器、镜像和卷,将系统维护整合到一个工具中。
  • 配置显示:允许您查看当前的 Docker 服务配置。
shell
Usage:
  dockerctl [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  prune       clear docker data
  restart     restart docker service
  show-config show the config of dockerservice
  start       start docker service
  status      show the status of dockerservice
  stop        stop docker service

dockerctl start

启动 Docker 服务。

shell
dockerctl start

dockerctl stop

停止 Docker 服务。

shell
dockerctl stop

dockerctl status

显示 Docker 服务的当前运行状态。

查看默认配置:

shell
dockerctl status

示例输出:

shell
 docker.service - Docker Application Container Engine
        Active: active (running) since 2024-12-02 04:40:33 Monday; 0 days ago
         Tasks: 116
        Memory: 0.00%
           CPU: 0.00%

dockerctl show-config

显示 Docker 服务的当前配置。

shell
dockerctl show-config [flags]

查看默认配置:

shell
dockerctl show-config

示例输出:

json
{
  "proxies": {}
}

dockerctl restart

重启 Docker 服务。通常在修改配置后使用此命令使更改生效。

shell
dockerctl restart

dockerctl prune

清除 Docker 服务中的未使用数据,包括容器、镜像、卷和网络。

shell
dockerctl prune

警告

该操作具有破坏性,会删除 Docker 服务管理下的未使用数据。执行前请确认:

  • 已停止 Docker 服务(先运行 dockerctl stop)。
  • 清理不可恢复,后续可能需要重新拉取镜像或重建镜像。
  • 清理期间 Docker 服务不可用,需在完成后运行 dockerctl start 恢复服务。

清理范围与影响:

  • 删除已停止的容器与其匿名资源。
  • 删除未使用的镜像、悬挂层(dangling layers)。
  • 删除未使用的网络与卷(如适用)。
  • 删除构建缓存(如适用),以最大化释放空间。

查看占用(只读、不做清理):

shell
docker system df

注意

  • 必须先运行 dockerctl stop 停止 Docker 服务。
  • 运行 dockerctl prune 清除数据后,需要运行 dockerctl start 启动 Docker 服务。
  • Docker 容器功能不支持通过 docker system prune 清除内部的 Docker 容器与镜像;docker image prune / docker builder prune 在本环境也可能被策略禁用或不完全生效。请使用 dockerctl prune 进行清理。

管理 Docker 服务配置

Docker 容器服务支持修改 docker 服务配置,添加 proxiesregistry-mirrors 等。修改以下任意文件,均需要执行 dockerctl restart 使更改生效。

Docker 服务配置文件

  • /etc/docker/daemon.json。用法参考 Docker Daemon 官方文档Docker Hub 官方文档。示例配置如下:

    json
    {
        "proxies": {
        "http-proxy": "http://proxy.example.com:3128",
        "https-proxy": "https://proxy.example.com:3129",
        "no-proxy": "*.test.example.com,.example.org,127.0.0.0/8,*.infini-ai.com"
        },
        "registry-mirrors": ["https://<my-docker-mirror-host>"]
    }
  • /tmp/docker-config/config.json(该文件在开发机重启后会复原,无法持久化保存修改)。用法参考 Docker CLI 官方文档。示例配置如下:

    json
    {
    "proxies": {
      "default": {
        "httpProxy": "http://proxy.example.com:3128",
        "httpsProxy": "https://proxy.example.com:3129",
        "noProxy": "*.test.example.com,.example.org,127.0.0.0/8,*.infini-ai.com"
      }
    }
    }

警告

  • 请务必注意两份配置文件 proxies 字段差异。
  • 建议在 no-proxy 字段合理配置不需要通过代理访问的服务。

修改 Docker 服务配置

  1. 编辑配置文件。

    shell
    mkdir -p /etc/docker
    # 修改 docker daemon 配置
    vim /etc/docker/daemon.json
  2. 重启服务以应用更改。

    shell
    dockerctl restart
  3. 验证配置是否生效。

    shell
    dockerctl show-config

开机状态下手动清除 Docker 服务数据

Docker 服务共享开发机主容器的 100GiB 存储空间。如需在开机状态下清理已停止的容器、镜像与卷,可以使用 dockerctl prune 命令。具体流程如下:

  1. 停止 Docker 服务。

    shell
    dockerctl stop
  2. 删除 Docker 服务数据。

    shell
    dockerctl prune
  3. 启动 Docker 服务。

    shell
    dockerctl start

常见问题

为何 docker system prune/docker image prune/docker builder prune 没有生效或被拒绝?

在当前 Docker 容器功能中,平台对清理类 API 有严格限制,标准清理命令可能被策略拦截或无法触达实际数据路径。请改用 dockerctl prune 执行清理,并严格按照:dockerctl stopdockerctl prunedockerctl start 的顺序进行。查看占用可使用只读命令 docker system df