本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像为重写的geoffreybooth's meteor-base Docker镜像,旨在简化Meteor应用基础Docker镜像的构建和发布流程。作为Meteor应用的基础镜像,它支持通过多阶段Dockerfile构建,无需在构建机器上安装Node或Meteor,确保构建环境隔离可控,适合持续集成(CI)场景,实现可重复构建。
自动化构建:自动构建机制解决了新Meteor版本发布时,原镜像作者未及时更新对应Docker镜像的问题。
优化的entrypoint.sh:最终bundle中的默认entrypoint.sh不再无限期轮询等待MongoDB连接,而是在连接失败时以错误码退出。这解决了在Kubernetes等容器编排工具中,容器无法连接Mongo却被错误报告为健康的问题。
脚本重构:脚本经过重构,更清晰地指示其预期使用场景。
构建速度优化:示例用法经过重构,更好地利用Docker层缓存,在Meteor依赖未变更时显著加快重复构建速度。
适用于需要通过Docker构建和部署的Meteor应用,尤其适合:
持续集成(CI)环境:无需在CI服务器上安装Node或Meteor,构建过程完全在Docker内部完成,确保环境一致性。
容器编排场景:如Kubernetes等环境,改进的entrypoint.sh确保连接Mongo失败时容器正确退出,避免健康状态误报。
追求构建效率与镜像精简:通过优化的Docker层缓存提升构建速度,基于Alpine Linux基础镜像减小最终镜像体积,降低安全扫描风险。
将example/Dockerfile复制到项目根目录。
编辑复制到项目的Dockerfile,修改第一行,使末尾的版本号与项目的Meteor版本匹配。项目的Meteor版本可在.meteor/release文件中找到。
例如,若项目使用Meteor 3.0.4:
FROM jorgenvatle/meteor-base:3.0.4
版本号需对应Docker Hub上的可用标签。
如需更新FROM node行中的Node版本以匹配Meteor版本,可在应用目录中运行以下命令获取对应Node版本:
docker run --rm jorgenvatle/meteor-base:$(cat ./.meteor/release | cut -c8-99) meteor node --version | cut -c2-99 | grep -o "[0-9\.]*"
将example/.dockerignore复制到项目根目录,并适当编辑,避免将不必要的文件复制到Docker构建上下文,以加速构建。
将example/docker-compose.yml复制到项目根目录。然后在项目根目录运行:
docker-compose up
这将为应用构建镜像并启动,同时启动一个关联的MongoDB容器。访问http://localhost/即可查看运行的应用。
可根据需求编辑项目中的Dockerfile,例如添加Linux依赖。多阶段构建模式的优势在于本基础镜像保持精简,无需ONBUILD触发器或配置文件即可影响最终镜像,用户可通过自己的Dockerfile完全控制最终镜像。
如需在Meteor应用启动前运行命令,可在Dockerfile中将脚本保存为startup.sh并放入$SCRIPTS_FOLDER,entrypoint.sh会自动执行该脚本。
现有多个优秀的Meteor Docker镜像,但本镜像在以下方面具有独特优势:
对比jshimko/meteor-launchpad:后者基于debian:jessie,可能无法通过安全扫描,且体积大于Alpine;此外,其每次生产构建都需下载安装Meteor,而本镜像通过缓存Meteor提升构建效率。
对比meteor/galaxy-images和Treecom/meteor-alpine:这两者均需在主机上构建Meteor应用,再复制到Docker容器中;而本镜像支持在Docker内部完成构建,无需在CI服务器等构建环境中安装Node或Meteor,确保构建环境一致性。
本仓库通过GitHub Action监控Meteor安装脚本,当有新Meteor版本发布时,会自动创建新镜像。对于旧版本,可参考.github/workflows/build-legacy.yml。
免费版仅支持 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