
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
维护者:
https://github.com/eggheads/eggdrop-docker
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接https://github.com/eggheads/eggdrop-docker/blob/037d27fee1499a17a1062efcba0213801d82c405/develop/Dockerfile
https://github.com/eggheads/eggdrop-docker/blob/57fb1652a***b12e9f51775f173ecde24285/1.9/Dockerfile
https://github.com/eggheads/eggdrop-docker/blob/2861815d67478e41667b8ed2cf9d3f13a5e755c1/1.10/Dockerfile
https://github.com/eggheads/eggdrop-docker/blob/fa9fab693902545745642c75650b56379d17b16b/1.10.1rc1/Dockerfile
问题反馈地址:
https://github.com/eggheads/eggdrop-docker/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/eggdrop/%E3%80%81https://hub.docker.com/r/arm32v6/eggdrop/%E3%80%81https://hub.docker.com/r/arm64v8/eggdrop/
镜像制品详情:
https://github.com/docker-library/repo-info/blob/master/repos/eggdrop%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/eggdrop%EF%BC%89
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Feggdrop
https://github.com/docker-library/official-images/blob/master/library/eggdrop%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/eggdrop%EF%BC%89
本描述的来源:
https://github.com/docker-library/docs/tree/master/eggdrop%EF%BC%88https://github.com/docker-library/docs/commits/master/eggdrop%EF%BC%89
Eggdrop是世界上最受欢迎的开源IRC机器人,设计注重灵活性和易用性,根据GNU通用公共许可证(GPL)自由分发。它支持Linux、BSD、SunOs、Windows和Mac OS X等多种系统。核心代码库可通过TCL脚本或C模块扩展,机器人之间可链接形成机器人网络,实现跨多个机器人的用户文件和派对线路共享。
!https://raw.githubusercontent.com/docker-library/docs/c***a160e73a879916f2d88762cc7a01ec/eggdrop/logo.png
要首次运行此容器,至少需要通过环境变量传入昵称和服务器。至少应使用类似以下的docker run命令:
console$ docker run -ti -e NICK=FooBot -e SERVER=irc.libera.chat -v /path/for/host/data:/home/eggdrop/eggdrop/data eggdrop
这将修改配置文件中的相应值,然后启动机器人,昵称设为FooBot并连接到irc.libera.chat。这些变量仅在首次运行时需要,之后可直接编辑配置文件。其他配置选项见以下部分。
请注意,即使在守护进程模式下,docker run的-i标志也是必需的。
SERVER此变量设置Eggdrop将连接的IRC服务器。示例:
console-e SERVER=just.a.normal.server -e SERVER="you.need.to.change.this 6667" -e SERVER="another.example.com 7000 password" -e SERVER="[2001:db8:618:5c0:263::] 6669 password" -e SERVER="ssl.example.net +6697"
注意,指定端口或密码时需将整个参数用引号括起来。通过环境变量只能指定一个服务器。+表示SSL启用端口。首次运行后,建议直接编辑Eggdrop配置添加其他服务器(见下文“长期持久化”)。
NICK此变量设置Eggdrop使用的昵称。首次使用后,应通过直接编辑Eggdrop配置修改(见下文“长期持久化”)。
LISTEN此变量设置Eggdrop监听传入连接的TCP端口(相当于配置中的listen XXXX all)。如果设置此变量,可能需要调整docker run命令中的-p标志以匹配。
EGGOWNER(仅在develop标签中提供测试)此变量创建Eggdrop的第一个账户句柄。这是您将登录的句柄,拥有完全管理员权限。如果使用此环境变量,还必须设置EGGOWNER_PASS环境变量,否则容器无法启动。仅在Eggdrop首次运行时可用。如果提供自己的配置文件(不使用docker首次运行生成的配置文件),必须在配置文件末尾添加“source scripts/docker.tcl”以启用此功能。容器首次运行后可移除此变量。
EGGOWNER_PASS(仅在develop标签中提供测试)此变量设置EGGOWNER句柄的密码。仅设置此变量而不设置EGGOWNER环境变量无效。容器首次运行后可移除此变量。
CHANNELS(仅在develop标签中提供测试)此变量包含容器运行时Eggdrop将尝试创建的频道列表(如果不存在)。变量格式为逗号分隔的列表(如“CHANNELS=#chan1,chan2,#chan3”)。频道添加后可移除此变量。
首次运行Eggdrop容器后,配置文件、用户文件和频道文件将位于容器内的/home/eggdrop/eggdrop/data/目录。但这些文件的持久性仅与它们所在的容器相同。如果希望在使用Eggdrop docker镜像期间(有意或无意)使用不同容器,需要创建持久化数据存储。
最简单的方法是将主机目录挂载到/home/eggdrop/eggdrop/data。如果在首次运行前执行此操作,可以轻松编辑docker在主机目录中生成的Eggdrop配置文件。此外,也可将现有配置、用户或频道文件放入挂载的数据目录,供Eggdrop容器使用。
如果使用先前Eggdrop安装的配置文件(即不使用此镜像生成的配置文件),请务必修改用户文件和频道文件的路径以使用数据目录——即编辑配置文件,设置set userfile data/<userfile>和set channelfile data/<channelfile>。否则数据将不持久。还可能需要将Eggdrop设置为后台运行(即后台模式)。
为此,可使用类似以下命令启动容器:
console$ docker run -i -e NICK=FooBot -e SERVER=irc.libera.chat -v /path/to/eggdrop/files:/home/eggdrop/eggdrop/data -d eggdrop
如果提供自己的配置文件,将其放入数据目录,并将配置文件作为docker容器的参数指定:
console$ docker run -i -v /path/to/eggdrop/files:/home/eggdrop/eggdrop/data -d eggdrop mybot.conf
与docker一起使用的任何配置文件必须以.conf结尾,如eggdrop.conf或mybot.conf。
添加脚本的简便方法是在主机上创建脚本目录,并将其挂载到/home/eggdrop/eggdrop/scripts(或您选择的路径)。可通过在docker run命令行添加类似以下选项实现:
console-v /path/to/host/scripts:/home/eggdrop/eggdrop/scripts
(然后编辑配置文件,从挂载脚本目录的路径加载脚本)。不建议将脚本目录挂载到默认的eggdrop/scripts路径,因为这会使镜像包含的脚本无法被Eggdrop访问,并可能在启动时出错。作为替代,可挂载到/home/eggdrop/eggdrop/scripts2(或类似路径),并确保使用新路径更新source命令。
许多脚本需要安装额外的OS包才能运行,如tcl-tls、tcl-lib和libsqlite3-tcl。按照Docker理念,基础Eggdrop包仅包含基础功能所需的最小依赖。但用户可在启动容器时轻松添加包:
consoledocker run -i eggdrop sh -c 'apk add tcl-lib tcl-tls && exec /home/eggdrop/eggdrop/entrypoint.sh eggdrop.conf'
如果要为机器人暴露网络连接,还需要使用-p标志暴露配置中指定的监听端口(默认3333)。例如,要暴露3333端口,在docker run命令行添加:
-p 3333:3333
docker-compose.yml示例托管于https://github.com/eggheads/eggdrop-docker/blob/master/docker-compose.yml%E3%80%82%E4%BB%8E%E9%9B%B6%E5%88%9B%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84Docker Compose文件时,常见错误是未添加:
stdin_open: true
没有此配置,Eggdrop将提示“END OF FILE ON TERMINAL”错误且无法启动。
如需更多帮助,可加入Libera的#eggdrop频道。
Dockerfile的git仓库维护于https://github.com/eggheads/eggdrop-docker%E3%80%82
查看此镜像包含软件的许可证信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能采用其他许可证(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖)。
部分可自动检测的额外许可证信息可能位于https://github.com/docker-library/repo-info/tree/master/repos/eggdrop%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务