
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
socat Docker镜像是一个基于Alpine Linux的轻量级容器,用于运行socat命令。socat是一个多功能的网络工具,用于在不同类型的套接字之间建立双向数据流。该镜像每周自动构建,以确保包含最新版本的socat工具。
Docker for Mac应用程序允许在不使用vagrant或其他虚拟化Linux操作系统的情况下使用Docker引擎,但不提供与其他版本相同的Docker守护进程配置选项。通过socat可以建立一个绑定到本地主机的TCP套接字,使Docker for Mac API可用。
使用示例
将Unix套接字(/var/run/docker.sock)通过Docker守护进程发布为本地主机(127.0.0.1)上的2376端口:
bash$ docker pull docker.xuanyuan.run/alpine/socat $ docker run -d --restart=always \ -p 127.0.0.1:2376:2375 \ -v /var/run/docker.sock:/var/run/docker.sock \ alpine/socat \ tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock
警告:Docker API默认是不安全的。请务必将TCP套接字绑定到
localhost接口,否则Docker API将绑定到所有接口,存在安全风险。
Docker不允许直接修改现有容器的端口映射配置。通常需要销毁并重新创建容器才能更改发布的端口。使用socat镜像可以作为一种 workaround,通过转发端口和链接容器来解决此限制。
使用示例
将容器example-container的1234端口发布为Docker主机的4321端口:
bash$ docker pull docker.xuanyuan.run/alpine/socat $ docker run \ --publish 4321:1234 \ --link example-container:target \ alpine/socat \ tcp-listen:1234,fork,reuseaddr tcp-connect:target:1234
docker run后添加--detach参数--restart always参数--restart unless-stopped参数Socat Docker镜像在Dockerfile中没有使用EXPOSE指令,这可能会影响依赖此信息的其他容器(如nginx-proxy)。通过在运行时使用expose选项,可以允许nginx-proxy正确检测并与socat实例通信,而无需像使用ports选项那样在主机上打开端口。
使用示例
以下示例使用socat将主机的Cockpit实例中继到nginx-proxy镜像,从而可以利用代理端口和可选的Let's Encrypt支持:
yamlversion: '3' services: cockpit-relay: image: docker.xuanyuan.run/alpine/socat container_name: cockpit-relay depends_on: - nginx-proxy command: "TCP-LISTEN:9090,fork,reuseaddr TCP:172.17.0.1:9090" expose: - "9090" environment: - VIRTUAL_HOST=somehost.somedomain # 虚拟主机名 - VIRTUAL_PROTO=https # 使用的协议 - LETSENCRYPT_HOST=somehost.somedomain # Let's Encrypt主机名 - LETSENCRYPT_EMAIL=some@email.somedomain # Let's Encrypt邮箱 restart: unless-stopped logging: driver: journald networks: - webservices networks: webservices:
所有可用的镜像标签可在Docker Hub上查看:https://hub.docker.com/r/alpine/socat/tags/
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务