
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像每6小时自动更新
https://github.com/Hellyna/docker-socket-proxy/actions/workflows/github-publish.yml/badge.svg](https://github.com/Hellyna/docker-socket-proxy/actions/workflows/github-publish.yml)
可用标签: latest
基于https://hub.docker.com/_/haproxy%E7%9A%84%E4%B8%8A%E6%B8%B8%E5%8F%98%E6%9B%B4
注意: 2.4+版本的容器默认以USER haproxy运行(因此需要--sysctl net.ipv4.ip_unprivileged_port_start=0参数),但旧版本为兼容仍默认以root运行;若需在旧版本中以非root用户运行,可使用--user haproxy(或其他UID)。
考虑到这些变更,需使用--user root运行本镜像以确保功能正常。
本分支尝试在https://github.com/tecnativa/docker-socket-proxy%E5%92%8Chttps://github.com/fluencelabs/docker-socket-proxy%E5%9F%BA%E7%A1%80%E4%B8%8A%E6%8F%90%E4%BE%9B%E6%9B%B4%E7%BB%86%E7%B2%92%E5%BA%A6%E7%9A%84%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E3%80%82
fluencelab分支存在一个问题:若未设置POST=1或DELETE=1,所有POST和DELETE请求将无法工作,且此问题未在其仓库中记录。
提示: 若不执行POST或DELETE请求,可将socket设为只读以增强安全性。
yaml#... services: traefik-docker-proxy: image: quiexotic/docker-socket-proxy restart: unless-stopped environment: GET_CONTAINERS: 1 networks: traefik-network: volumes: - /var/run/docker.socket:/var/run/docker.sock:ro #...
traefik-network是与traefik服务共享的网络。yaml#... services: ipv6-nat-docker-proxy: image: quiexotic/docker-socket-proxy restart: unless-stopped environment: GET_CONTAINERS: 1 GET_NETWORKS: 1 networks: ipv6-nat-network: volumes: - /var/run/docker.socket:/var/run/docker.sock:ro #...
ipv6-nat-network是与ipv6nat服务共享的网络。这是一个安全增强的Docker Socket代理,基于Alpine的官方HAProxy镜像构建,通过自定义配置文件实现对Docker Socket API的访问控制。它能根据设置的环境变量阻止危险请求,为需要访问Docker socket的服务提供安全边界。
适用于任何需要访问Docker socket但需限制权限的服务,典型场景包括:
bashdocker container run \ -d \ --name dockerproxy \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 127.0.0.1:2375:2375 \ tecnativa/docker-socket-proxy
若使用SELinux或AppArmor,可能需要添加
--privileged标志。
bashexport DOCKER_HOST=tcp://localhost # 验证连接 docker version # 未授权操作将被拒绝(如列出容器) docker container ls # 会返回403 Forbidden错误
通过环境变量授予或撤销API访问权限,变量值:
0:撤销访问1:授予访问默认允许的API部分
以下API部分默认允许,通常为服务正常运行所必需:
HEAD_PINGGET_PINGGET_EVENTSGET_VERSION默认拒绝的API部分
安全关键操作
这些操作具有高安全风险,默认拒绝,启用时需格外谨慎:
AUTH:认证相关操作SECRETS:密钥管理POST_ALL:允许所有POST操作DELETE_ALL:允许所有DELETE操作非必需操作
根据服务需求选择性启用,建议先启用POST_ALL=1和DELETE_ALL=1测试,再根据日志精简权限:
| HEAD | GET | POST | DELETE |
|---|---|---|---|
HEAD_PING | GET_BUILD | POST_CONTAINERS_PRUNE | DELETE_NETWORKS |
GET_COMMIT | POST_CONTAINERS_CREATE | DELETE_CONTAINERS | |
GET_CONFIGS | POST_CONTAINERS_RESIZE | DELETE_IMAGES | |
GET_CONTAINERS | POST_CONTAINERS_START | DELETE_VOLUMES | |
GET_DISTRIBUTION | POST_CONTAINERS_STOP | ||
GET_EXEC | POST_CONTAINERS_RESTART | ||
GET_IMAGES | POST_CONTAINERS_KILL | ||
GET_INFO | POST_CONTAINERS_UPDATE | ||
GET_NETWORKS | POST_CONTAINERS_RENAME | ||
GET_NODES | POST_CONTAINERS_PAUSE | ||
GET_PLUGINS | POST_CONTAINERS_UNPAUSE | ||
GET_SERVICES | POST_CONTAINERS_ATTACH | ||
GET_SESSION | POST_CONTAINERS_WAIT | ||
GET_SWARM | POST_CONTAINERS_EXEC | ||
GET_SYSTEM | POST_VOLUMES_CREATE | ||
GET_TASKS | POST_VOLUMES_PRUNE | ||
GET_VOLUMES | POST_NETWORKS_CREATE | ||
POST_NETWORKS_PRUNE | |||
POST_NETWORKS_CONNECT | |||
POST_NETWORKS_DISCONNECT | |||
POST_IMAGES_CREATE | |||
POST_IMAGES_PRUNE |
通过LOG_LEVEL环境变量设置日志级别,默认值为info,可选值:debug、info、notice、warning、err、crit、alert、emerg。
如需特定API版本支持或发现问题,请提交PR。
参考链接:API版本历史
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务