
如果你使用 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容器,用于Sopel——一个Python IRC机器人
相关链接:
拉取最新Sopel版本(https://github.com/sopel-irc/sopel/releases/tag/v7.0.5%EF%BC%89%E7%9A%84Docker%E9%95%9C%E5%83%8F
console$ docker pull sopelirc/sopel:latest
启动机器人。为容器指定一个名称(例如my_first_sopel),以便后续启动和关闭更方便。
console$ docker run --name=my_first_sopel -ti sopelirc/sopel
首次运行时,将进入设置向导以创建机器人的配置文件。更多详情参见Sopel Wiki的“首次运行”条目。
可以通过简单的键盘中断(Ctrl-C)停止上述命令启动的机器人,或使用docker stop命令:docker stop my_first_sopel
可以使用docker start命令重启机器人:docker start -ia my_first_sopel。
注意:使用docker start ...启动的容器需要用docker stop ...停止(Ctrl-C无效),如上例所示。
Sopel机器人的最低要求是有效的配置文件。您可以通过启动新机器人创建配置文件,或接入已有的配置文件!虽然Sopel已内置多种模块,但您可以轻松向容器添加第三方和自定义模块。
按照快速开始步骤将在容器文件系统中生成配置目录。您可能需要将其提取到主机,以便更容易修改和持久化。可以使用docker cp ...命令将.cfg文件或整个配置文件夹复制到指定目录:
将default.cfg文件复制到主机的/some/path/on/the/host目录
console$ docker cp my_first_sopel:/home/sopel/.sopel/default.cfg /some/path/on/the/host/
将整个~/.sopel配置目录复制到主机的/some/path/on/the/host目录
console$ docker cp my_first_sopel:/home/sopel/.sopel /some/path/on/the/host/
提取的配置文件/文件夹可传输或复制,用作其他机器人的配置模板。
可将配置文件或文件夹挂载到/home/sopel/.sopel供机器人使用。应使用默认配置文件名(default.cfg),或在docker run ...命令后附加-c correct_file_name.cfg来指定正确的文件名。
挂载配置文件
console$ docker run -v "/path/to/my/default.cfg:/home/sopel/.sopel/default.cfg" ...
挂载配置文件夹
console$ docker run -v "/path/to/config/folder:/home/sopel/.sopel" ...
如果遇到权限问题,可使用PUID和PGID环境变量使容器内用户ID与主机匹配。或者,可将配置文件/文件夹的所有权修改为容器用户(uid=100000,gid=100000)。
Python包
PyPI可用模块
参见EXTRA_PYPI_PACKAGES环境变量。
您也可以将pip requirements.txt格式的文件挂载到/pypi_packages.txt,以在启动时安装列出的包。
源码模块
将模块源码目录挂载到/home/sopel/.sopel/modules,Sopel将自动识别并加载该模块。
Alpine Linux包
参见EXTRA_APK_PACKAGES环境变量。
您也可以将文本文件挂载到/apk_packages.txt,以在启动时安装列出的系统包。
启动机器人时,可通过在docker run ...命令行传递一个或多个环境变量来调整机器人进程的环境设置。
PUID 和 PGID默认情况下,sopel进程以UID和GID为100000运行,以防止意外访问主机资源。这意味着挂载的卷需要允许该用户读写。您可以通过设置这些变量在启动时修改sopel用户的ID。例如:
console$ docker run -e PUID=1000 ... Setting UID for user sopel to 1000... Done. ... ... Welcome to Sopel. Loading modules... ...
通常,您会将PUID/PGID设置为与挂载卷所有者ID匹配的值。
EXTRA_PYPI_PACKAGES可通过提供空格分隔的包名列表,在启动时安装PyPI包。由于底层调用pip install ...,任何pip支持的包名都可使用。例如:
console$ docker run -e EXTRA_PYPI_PACKAGES="sopel-modules.weather google-api-python-client sopel-modules.youtube" ... Installing package "sopel-modules.weather" with pip... ... Installing package "google-api-python-client" with pip... ... Installing package "sopel-modules.youtube" with pip... ... ... Welcome to Sopel. Loading modules... ...
这将安装sopel天气模块、sopel ***模块及其依赖google-api-python-client。
EXTRA_APK_PACKAGES有时可能需要安装系统包以满足Python包的依赖。这些包可通过空格分隔的列表指定,使用apk add --no-cache ...安装。例如,可能需要数据库客户端、编译源码所需的工具,以及允许pip从仓库安装的git:
console$ docker run -e EXTRA_APK_PACKAGES="mysql-client build-base git" ... Installing apk packages: mysql-client build-base git... ... ... Welcome to Sopel. Loading modules... ...
这将安装所需的系统包。===SHORT_DESC=== Sopel(Python IRC机器人)的Docker容器,提供便捷部署和运行方式,支持配置持久化、第三方模块扩展及环境变量自定义,适用于快速搭建IRC机器人实例。 ===FULL_DESC===# Sopel Docker镜像
🐋 官方非官方™ Docker容器,用于Sopel——一个Python IRC机器人
相关链接:
拉取最新Sopel版本(https://github.com/sopel-irc/sopel/releases/tag/v7.0.5%EF%BC%89%E7%9A%84Docker%E9%95%9C%E5%83%8F
console$ docker pull sopelirc/sopel:latest
启动机器人。为容器指定名称(例如my_first_sopel),便于后续操作:
console$ docker run --name=my_first_sopel -ti sopelirc/sopel
首次运行将进入设置向导创建配置文件,详情参见Sopel Wiki“首次运行”条目。
停止:使用Ctrl-C或docker stop my_first_sopel
重启:docker start -ia my_first_sopel
注意:docker start启动的容器需用docker stop停止(Ctrl-C无效)。
Sopel需有效配置文件,可通过快速开始创建或接入现有配置。支持添加第三方/自定义模块扩展功能。
首次运行生成的配置文件需提取至主机以持久化:
复制单个配置文件:
console$ docker cp my_first_sopel:/home/sopel/.sopel/default.cfg /主机路径/
复制整个配置目录:
console$ docker cp my_first_sopel:/home/sopel/.sopel /主机路径/
提取的配置可作为其他机器人的模板。
将配置文件/目录挂载至/home/sopel/.sopel:
挂载单个文件:
console$ docker run -v "/主机路径/default.cfg:/home/sopel/.sopel/default.cfg" ...
挂载目录:
console$ docker run -v "/主机路径/config:/home/sopel/.sopel" ...
权限问题可通过PUID/PGID调整,或修改文件所有权为容器用户(uid=100000,gid=100000)。
Python包
PyPI模块:通过EXTRA_PYPI_PACKAGES或挂载requirements.txt至/pypi_packages.txt
源码模块:挂载源码目录至/home/sopel/.sopel/modules,Sopel自动加载
Alpine系统包
通过EXTRA_APK_PACKAGES或挂载文本文件至/apk_packages.txt安装系统依赖。
PUID 和 PGID调整容器内用户ID以匹配主机卷权限:
console$ docker run -e PUID=1000 -e PGID=1000 ...
通常设为挂载卷所有者ID。
EXTRA_PYPI_PACKAGES启动时安装PyPI包(空格分隔列表):
console$ docker run -e EXTRA_PYPI_PACKAGES="sopel-modules.weather sopel-modules.youtube" ...
EXTRA_APK_PACKAGES安装Alpine系统包(空格分隔列表):
console$ docker run -e EXTRA_APK_PACKAGES="mysql-client build-base git" ...
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务