
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
在应用根目录添加以下内容到Dockerfile:
DockerfileFROM openmove/meteor-launchpad:onbuild
然后使用以下命令构建镜像:
shdocker build -t yourname/app .
设置.dockerignore文件
Meteor开发环境中有多个部分无需传入Docker构建过程,因为容器内会进行完整的生产构建。例如,无需传入node_modules或.meteor/local中的本地构建文件和开发数据库。为避免将这些文件复制到容器,推荐在应用根目录添加以下.dockerignore文件作为起点。详情:[***]
.git .meteor/local node_modules
使用以下命令运行容器(注意应用监听3000端口,因为它由非root用户运行,出于https://github.com/nodejs/docker-node/issues/1%EF%BC%8C%E4%B8%94%E9%9D%9Eroot%E7%94%A8%E6%88%B7%E6%97%A0%E6%B3%95%E5%9C%A880%E7%AB%AF%E5%8F%A3%E8%BF%90%E8%A1%8C%E8%BF%9B%E7%A8%8B%EF%BC%89%EF%BC%9A
shdocker run -d \ -e ROOT_URL=http://example.com \ -e MONGO_URL=mongodb://url \ -e MONGO_OPLOG_URL=mongodb://oplog_url \ -e MAIL_URL=smtp://mail_url.com \ -p 80:3000 \ yourname/app
如需强制延迟Node进程启动(例如等待数据库就绪),可设置STARTUP_DELAY环境变量为秒数。例如,延迟10秒启动应用:
shdocker run -d \ -e ROOT_URL=http://example.com \ -e MONGO_URL=mongodb://url \ -e STARTUP_DELAY=10 \ -p 80:3000 \ yourname/app
Meteor Launchpad支持通过两种方式设置自定义构建选项:在应用根目录创建launchpad.conf配置文件,或使用Docker构建参数。当前支持安装PhantomJS、GraphicsMagick、MongoDB或任意apt-get依赖项(基于debian:jesse构建)。
若安装Mongo,未提供MONGO_URL时容器内会启动Mongo并让应用使用;若提供MONGO_URL,则使用外部数据库(注:Mongo与应用同容器仅适用于测试/开发,生产环境需使用独立Mongo部署)。
在应用根目录创建launchpad.conf,添加以下任意配置:
sh# launchpad.conf # 使用apt-get安装构建/运行所需依赖项(默认:未定义) APT_GET_INSTALL="curl git wget" # 安装自定义Node版本(默认:最新8.x) NODE_VERSION=8.9.0 # 安装各工具最新版本(默认:均为false) INSTALL_MONGO=true INSTALL_PHANTOMJS=true INSTALL_GRAPHICSMAGICK=true
使用--build-arg标志设置构建参数,无需配置文件:
shdocker build \ --build-arg APT_GET_INSTALL="curl git wget" \ --build-arg INSTALL_MONGO=true \ --build-arg NODE_VERSION=8.9.0 \ -t myorg/myapp:latest .
通过NPM_TOKEN构建参数提供NPM认证令牌:
shdocker build --build-arg NPM_TOKEN="<your token>" -t myorg/myapp:latest .
开发环境频繁构建时,可避免每次下载Meteor。将Dockerfile修改为:
DockerfileFROM jshimko/meteor-launchpad:devbuild
不推荐用于生产构建(镜像体积较大),但开发中可节省时间:首次构建下载/安装Meteor,后续构建直接跳过该步骤。
如需包含自定义设置(如通过settings.json文件),设置METEOR_SETTINGS环境变量:
shdocker run -d \ -e ROOT_URL=http://example.com \ -e MONGO_URL=mongodb://url \ -e MONGO_OPLOG_URL=mongodb://oplog_url \ -e MAIL_URL=smtp://mail_url.com \ -e METEOR_SETTINGS="$(cat settings.json)" \ -p 80:3000 \ yourname/app
在项目根目录添加docker-compose.yml,编辑应用镜像名称以匹配构建名称:
yaml# docker-compose.yml app: image: yourname/app ports: - "80:3000" links: - mongo environment: - ROOT_URL=http://example.com - MONGO_URL=mongodb://mongo:27017/meteor mongo: image: mongo:latest command: mongod --storageEngine=wiredTiger
使用以下命令启动应用和数据库容器:
shdocker-compose up -d
如需自定义构建,修改后使用项目根目录的build.sh脚本:
sh# 构建为jshimko/meteor-launchpad:latest ./build.sh
MIT许可证
版权所有 (c) 2017 Jeremy Shimko
特此授予任何获得本软件及相关文档文件(“软件”)副本的人免费许可,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向其提供软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于对适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易引起的任何索赔、损害或其他责任承担责任,无论是合同诉讼、侵权诉讼还是其他诉讼。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务