
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Docker Socket Proxy是一个安全增强的Docker套接字代理。
授予Docker套接字访问权限可能意味着授予主机甚至整个 swarm 的root权限,但某些服务需要挂钩到该套接字以响应事件等。使用此代理可以阻止您认为这些服务不应执行的任何操作,从而提高安全性。
基于官方Alpine的HAProxy镜像,通过小型配置文件实现。根据设置的环境变量阻止对Docker套接字API的访问,对危险请求返回HTTP 403 禁止访问状态码。
需使用--privileged(特权模式)标志,因为它连接到Docker套接字,在某些SELinux/AppArmor上下文中这是特权连接,否则可能被锁定:
sh$ docker container run \ -d --privileged \ --name dockerproxy \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 127.0.0.1:2375:2375 \ tecnativa/docker-socket-proxy
sh$ export DOCKER_HOST=tcp://localhost
VERSION API):sh$ docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Mon Mar 27 17:14:43 2017 OS/Arch: linux/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: go1.7.5 Git commit: c6d412e Built: Mon Mar 27 17:14:43 2017 OS/Arch: linux/amd64 Experimental: false
CONTAINERS API):sh$ docker container ls Error response from daemon: <html><body><h1>403 Forbidden</h1> Request forbidden by administrative rules. </body></html>
任何使用此代理2375端口访问Docker套接字API的容器都会受到相同的访问控制。
通过环境变量授予或撤销Docker API特定section的访问权限。变量通常与URL前缀匹配(例如AUTH控制对/auth/* API部分的访问)。
环境变量取值:
0:撤销访问权限1:授予访问权限以下API section通常无害且几乎是任何使用API的服务所必需的,因此默认允许访问:
EVENTS(事件)PING(心跳检测)VERSION(版本信息)安全关键型
以下API section被视为安全关键型,默认禁止访问。启用时需极度谨慎:
AUTH(认证):涉及Docker认证操作SECRETS(密钥):Docker密钥管理POST:禁用时仅允许GET和HEAD操作,即API所有section均为只读非必需型
以下API section并非总是需要,可能会暴露服务不需要的信息,根据需求决定是否启用:
BUILD(构建):镜像构建相关操作COMMIT(提交):容器提交为镜像CONFIGS(配置):Docker配置管理CONTAINERS(容器):容器生命周期管理(创建、启动、停止、删除等)DISTRIBUTION(分发):镜像分发相关EXEC(执行):在容器内执行命令IMAGES(镜像):镜像管理INFO(信息):Docker系统信息NETWORKS(网络):网络管理NODES(节点):Swarm节点管理PLUGINS(插件):Docker插件管理SERVICES(服务):Swarm服务管理SESSION(会话):会话管理SWARM(集群):Swarm集群管理SYSTEM(系统):系统相关操作TASKS(任务):Swarm任务管理VOLUMES(卷):数据卷管理除Docker外,开发所需的所有依赖均通过poetry管理。
shpoetry install # 安装依赖
本地运行测试时,添加--prebuild自动构建镜像:
shpoetry run pytest --prebuild
默认情况下,测试使用(并可选预构建)名为docker-socket-proxy:local的镜像。也可单独构建镜像后移除--prebuild标志:
shdocker image build -t docker-socket-proxy:local . # 单独构建 poetry run pytest # 运行测试
如需使用自定义镜像,设置DOCKER_IMAGE_NAME环境变量:
sh# 自动构建自定义镜像 env DOCKER_IMAGE_NAME=my_custom_image poetry run pytest --prebuild # 单独构建自定义镜像后测试 docker image build -t my_custom_image . env DOCKER_IMAGE_NAME=my_custom_image poetry run pytest
通过环境变量LOG_LEVEL设置日志级别,默认值为info。可选值(按严重程度递增):
debug(调试)info(信息)notice(通知)warning(警告)err(错误)crit(严重)alert(警报)emerg(紧急)任何反馈(问题、疑问)请提交至https://github.com/Tecnativa/docker-socket-proxy/issues。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务