mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-04-15 00:17:12 +08:00
3.8 KiB
3.8 KiB
Docker-Socket-Proxy
Socket Proxy是一个安全增强型代理,允许您对Docker socket应用访问规则,从而限制需要使用它的容器的攻击面,如watchtower或Traefik等容器。
应用设置
此容器在概念上基于https://github.com/Tecnativa/docker-socket-proxy,因此不遵循我们通常的容器约定。它不支持mods或自定义脚本/服务,也不能以非root用户(或rootless环境中的docker用户)身份运行。它旨在作为Tecnativa容器的直接替代品运行。
容器应在与服务使用它的同一docker网络上运行。通常会连接到挂载的docker.sock的大多数容器如果不提供配置选项,可以使用DOCKER_HOST环境变量覆盖其端点;通常应指向tcp://socket-proxy:2375。
- 永远不要将此容器的端口暴露给公共网络。它应该被视为与docker socket或TCP端点相同的方式处理。
- 撤销对您认为服务不需要的任何API部分的访问。
- 要查看Docker守护进程和客户端支持的API版本,请使用
docker version并检查API version。 - 阅读文档以了解您正在使用的API版本的可用端点说明。
只读操作
此镜像可以与只读容器文件系统一起运行。详细信息请阅读文档。
参数
容器使用运行时传递的参数进行配置(如上所述)。这些参数用冒号分隔,分别表示<外部>:<内部>。例如,-p 8080:80将暴露容器内部的端口80,使其可从容器外部主机的IP上的端口8080访问。
| 参数 | 功能 |
|---|---|
-e ALLOW_START=0 |
/containers/{id}/start - 即使POST=0此选项也将生效 |
-e ALLOW_STOP=0 |
/containers/{id}/stop - 即使POST=0此选项也将生效 |
-e ALLOW_RESTARTS=0 |
/containers/{id}/stop、/containers/{id}/restart和/containers/{id}/kill - 即使POST=0此选项也将生效 |
-e AUTH=0 |
/auth |
-e BUILD=0 |
/build |
-e COMMIT=0 |
/commit |
-e CONFIGS=0 |
/configs |
-e CONTAINERS=0 |
/containers |
-e DISTRIBUTION=0 |
/distribution |
-e DISABLE_IPV6=0 |
设置为1以防止绑定到IPv6接口,适用于无法支持IPv6的旧系统。 |
-e EVENTS=1 |
/events |
-e EXEC=0 |
/exec和/containers/{id}/exec |
-e IMAGES=0 |
/images |
-e INFO=0 |
/info |
-e LOG_LEVEL=info |
可能的值:debug、info、notice、warning、err、crit、alert和emerg。默认为info。 |
-e NETWORKS=0 |
/networks |
-e NODES=0 |
/nodes |
-e PING=1 |
/_ping |
-e PLUGINS=0 |
/plugins |
-e POST=0 |
设置为0时,仅允许GET和HEAD操作,使API访问变为只读。 |
-e SECRETS=0 |
/secrets |
-e SERVICES=0 |
/services |
-e SESSION=0 |
/session |
-e SWARM=0 |
/swarm |
-e SYSTEM=0 |
/system |
-e TASKS=0 |
/tasks |
-e TZ=Etc/UTC |
设置容器时区 |
-e VERSION=1 |
/version |
-e VOLUMES=0 |
/volumes |
-v /var/run/docker.sock:ro |
将主机docker socket挂载到容器中。 |
--read-only |
使容器文件系统为只读。 |
--tmpfs /run |
将/run挂载到tmpfs(RAM)中以使其可写。 |
参数建议
如果需要将docker socket代理作为服务运行,建议配置以下参数以获得完整功能:
CONTAINERS=1- 允许容器操作NETWORKS=1- 允许网络操作EVENTS=1- 启用事件监控PING=1- 允许ping操作POST=1- 允许写操作(创建、修改、删除)
这些参数组合提供了完整的Docker API访问能力,适用于大多数容器管理场景。