本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Docker Socket Proxy是一个安全增强的Docker套接字代理。
授予Docker套接字访问权限可能意味着授予主机甚至整个 swarm 的root权限,但某些服务需要挂钩到该套接字以响应事件等。使用此代理可以阻止您认为这些服务不应执行的任何操作,从而提高安全性。
基于官方Alpine的HAProxy镜像,通过小型配置文件实现。根据设置的环境变量阻止对Docker套接字API的访问,对危险请求返回HTTP 403 禁止访问状态码。
需使用--privileged(特权模式)标志,因为它连接到Docker套接字,在某些SELinux/AppArmor上下文中这是特权连接,否则可能被锁定:
$ 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
$ export DOCKER_HOST=tcp://localhost
VERSION API):$ 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):$ 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管理。
poetry install # 安装依赖
本地运行测试时,添加--prebuild自动构建镜像:
poetry run pytest --prebuild
默认情况下,测试使用(并可选预构建)名为docker-socket-proxy:local的镜像。也可单独构建镜像后移除--prebuild标志:
docker image build -t docker-socket-proxy:local . # 单独构建 poetry run pytest # 运行测试
如需使用自定义镜像,设置DOCKER_IMAGE_NAME环境变量:
# 自动构建自定义镜像 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(紧急)任何反馈(问题、疑问)请提交至问题跟踪器。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429