本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Socket Proxy 是一个安全增强型代理,允许您对 Docker socket 应用访问规则,限制需要使用它的容器(如 watchtower 或 Traefik)的攻击面。
!socket-proxy
该镜像利用 Docker manifest 实现多平台支持。只需拉取 lscr.io/linuxserver/socket-proxy:latest 即可获取适合您架构的正确镜像,也可以通过标签拉取特定架构的镜像。
支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| riscv64 | ✅ | riscv64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
| armhf | ❌ |
此容器概念基于 [***] mods 或自定义脚本/服务,也不支持以 root 以外的用户(或无 root 环境中的 docker 用户)运行。它旨在作为 Tecnativa 容器的替代品。
容器应与使用它的服务运行在同一 Docker 网络上。大多数通常连接到挂载的 docker.sock 的容器,如果配置中没有提供选项,可以使用 DOCKER_HOST 环境变量覆盖其端点;通常应指向 tcp://socket-proxy:2375。
docker version 并检查 API version。此镜像可以在只读容器文件系统下运行。有关详细信息,请 阅读文档。
以下是帮助您从此镜像创建容器的方法,您可以使用 docker compose 或 docker cli。
[!NOTE] 除非参数标记为“可选”,否则它是必填项,必须提供值。
--- services: socket-proxy: image: lscr.io/linuxserver/socket-proxy:latest container_name: socket-proxy environment: - ALLOW_START=0 #可选 - ALLOW_STOP=0 #可选 - ALLOW_RESTARTS=0 #可选 - AUTH=0 #可选 - BUILD=0 #可选 - COMMIT=0 #可选 - CONFIGS=0 #可选 - CONTAINERS=0 #可选 - DISABLE_IPV6=0 #可选 - DISTRIBUTION=0 #可选 - EVENTS=1 #可选 - EXEC=0 #可选 - IMAGES=0 #可选 - INFO=0 #可选 - LOG_LEVEL=info #可选 - NETWORKS=0 #可选 - NODES=0 #可选 - PING=1 #可选 - PLUGINS=0 #可选 - POST=0 #可选 - SECRETS=0 #可选 - SERVICES=0 #可选 - SESSION=0 #可选 - SWARM=0 #可选 - SYSTEM=0 #可选 - TASKS=0 #可选 - TZ=Etc/UTC #可选 - VERSION=1 #可选 - VOLUMES=0 #可选 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro restart: unless-stopped read_only: true tmpfs: - /run
docker run -d \ --name=socket-proxy \ -e ALLOW_START=0 `#可选` \ -e ALLOW_STOP=0 `#可选` \ -e ALLOW_RESTARTS=0 `#可选` \ -e AUTH=0 `#可选` \ -e BUILD=0 `#可选` \ -e COMMIT=0 `#可选` \ -e CONFIGS=0 `#可选` \ -e CONTAINERS=0 `#可选` \ -e DISTRIBUTION=0 `#可选` \ -e DISABLE_IPV6=0 `#可选` \ -e EVENTS=1 `#可选` \ -e EXEC=0 `#可选` \ -e IMAGES=0 `#可选` \ -e INFO=0 `#可选` \ -e LOG_LEVEL=info `#可选` \ -e NETWORKS=0 `#可选` \ -e NODES=0 `#可选` \ -e PING=1 `#可选` \ -e PLUGINS=0 `#可选` \ -e POST=0 `#可选` \ -e SECRETS=0 `#可选` \ -e SERVICES=0 `#可选` \ -e SESSION=0 `#可选` \ -e SWARM=0 `#可选` \ -e SYSTEM=0 `#可选` \ -e TASKS=0 `#可选` \ -e TZ=Etc/UTC `#可选` \ -e VERSION=1 `#可选` \ -e VOLUMES=0 `#可选` \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ --restart unless-stopped \ --read-only \ --tmpfs /run \ lscr.io/linuxserver/socket-proxy:latest
容器通过运行时传递的参数进行配置(如上所示)。这些参数以冒号分隔,表示 <外部>:<内部>。例如,-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 exec -it socket-proxy /bin/sh
docker logs -f socket-proxy
docker inspect -f '{{ index .Config.Labels "build_version" }}' socket-proxy
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/socket-proxy:latest
我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器来更新内部的应用程序。除了某些例外情况(在相关的 readme.md 中注明),我们不建议或支持在容器内部更新应用程序。请查阅上面的 应用设置 部分,了解是否建议对该镜像执行此操作。
以下是更新容器的说明:
更新镜像:
docker compose pull
docker compose pull socket-proxy
更新容器:
docker compose up -d
docker compose up -d socket-proxy
您还可以删除旧的悬空镜像:
docker image prune
docker pull lscr.io/linuxserver/socket-proxy:latest
docker stop socket-proxy
docker rm socket-proxy
docker image prune
[!TIP] 我们推荐 Diun 用于更新通知。不推荐或支持其他自动更新容器的工具。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
git clone [***] cd docker-socket-proxy docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/socket-proxy:latest .
可以使用 lscr.io/linuxserver/docker-qemu-static 在 x86_64 硬件上构建 ARM 变体,反之亦然
docker run --rm --privileged lscr.io/linuxserver/docker-qemu-static --reset
注册后,您可以使用 -f Dockerfile.aarch64 指定要使用的 dockerfile。
LOG_LEVEL。docker exec 连接劫持。ALLOW_START、ALLOW_STOP 和 ALLOW_RESTARTS,使其即使在 POST=0 时也能工作。免费版仅支持 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