
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
SOCKET-PROXY是一个安全访问Docker socket的代理镜像,旨在通过只读权限、非root用户运行及无发行版(distroless)设计,增强容器环境中Docker socket的访问安全性。该镜像将Docker socket代理为只读模式,暴露的代理socket以1000:1000用户组运行,同时可选启动TCP端点(2375端口)用于代理访问。适用于需要限制Docker socket访问权限的场景,如反向代理、容器管理工具等,可有效降低直接暴露Docker socket带来的安全风险。
以下是与Traefik配合使用的docker-compose示例:
yamlname: "reverse-proxy" services: socket-proxy: # 用于将Docker socket以只读方式暴露给Traefik # 详情参见https://github.com/11notes/docker-socket-proxy image: "11notes/socket-proxy:2.1.6" read_only: true # 只读模式运行 user: "0:0" # 根据实际Docker socket权限调整UID/GID,错误时容器会提示正确值 environment: TZ: "Europe/Zurich" # 设置时区 volumes: - "/run/docker.sock:/run/docker.sock:ro" # 挂载Docker socket(只读) - "socket-proxy.run:/run/proxy" # 代理socket存储卷 restart: "always" traefik: depends_on: socket-proxy: condition: "service_healthy" # 依赖socket-proxy健康状态 restart: true image: "11notes/traefik:3.5.0" read_only: true # 省略Traefik其他配置... volumes: - "socket-proxy.run:/var/run" # 挂载代理socket # 省略其他配置... volumes: socket-proxy.run: # 代理socket存储卷 networks: # 省略网络配置...
若Docker socket权限与容器用户不匹配,容器会输出错误提示并建议正确的UID/GID配置,例如:
shellsocket-proxy-1 | 2025/03/26 10:16:33 can’t access docker socket as GID 0 owned by GID 991 socket-proxy-1 | please change the user setting in your compose to the correct UID/GID pair like this: socket-proxy-1 | services: socket-proxy-1 | socket-proxy: socket-proxy-1 | user: "0:991"
需根据提示调整user字段。
默认不暴露TCP端点,如需启用,需在compose中添加端口映射:
yamlports: - "2375:2375/tcp" # 暴露TCP代理端点
即使通过GET请求,以下Docker API端点仍被阻止访问,增强安全性:
| 参数 | 说明 | 默认值 |
|---|---|---|
TZ | 时区(参考tz数据库列表) | 无 |
DEBUG | 启用调试模式(容器和应用) | 无 |
SOCKET_PROXY_VOLUME | 代理socket存储卷路径 | /run/proxy |
SOCKET_PROXY_DOCKER_SOCKET | Docker socket实际路径 | /run/docker.sock |
SOCKET_PROXY_UID | 运行代理进程的UID | 1000 |
SOCKET_PROXY_GID | 运行代理进程的GID | 1000 |
SOCKET_PROXY_KEEPALIVE | 与Docker socket的连接保活间隔 | 10s |
SOCKET_PROXY_TIMEOUT | 与Docker socket的连接超时时间 | 30s |
:2(固定主版本)、:2.1(固定次版本):rolling标签,但可能包含破坏性变更,风险自负可从以下仓库拉取镜像:
shelldocker pull 11notes/socket-proxy:2.1.6 docker pull ghcr.io/11notes/socket-proxy:2.1.6 docker pull quay.io/11notes/socket-proxy:2.1.6
user配置,容器启动错误时会提示正确UID/GID您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务