如何从dockerfile启动mongodb

2024-01-06

我正在构建一个 dockerfile。但我遇到了一个问题。它说:

/bin/sh: 1: mongod: 未找到

我的泊坞窗文件:

FROM mongo:latest
FROM node

RUN mongod

COPY . .
RUN node ./scripts/import-data.js

这是 docker 构建时发生的情况:

Sending build context to Docker daemon  829.5MB
Step 1/8 : FROM rabbitmq
 ---> e8261c2af9fe
Step 2/8 : FROM portainer/portainer
 ---> 00ead811e8ae
Step 3/8 : FROM docker.elastic.co/elasticsearch/elasticsearch:6.5.1
 ---> 32f93c89076d
Step 4/8 : FROM mongo:latest
 ---> 5976dac61f4f
Step 5/8 : FROM node
 ---> b074182f4154
Step 6/8 : RUN mongod
 ---> Running in 0a4b66a77178
/bin/sh: 1: mongod: not found
The command '/bin/sh -c mongod' returned a non-zero code: 127

任何想法 ?


问题是你正在使用两个FROM指令,这被称为multi-stage build https://docs.docker.com/develop/develop-images/multistage-build/。最终图像将基于node不包含的图像mongo数据库。

* Edit *

以下是有关正在发生的事情的更多详细信息:

来自蒙戈:最新

  • 基本图像是mongo:latest

从节点

  • 现在基础图像是node:latest。上一张图就站在那里……

运行 mongod

COPY . .

运行节点./scripts/import-data.js

  • 现在你跑mongod以及最终图像中基于的其他命令node(不包含 mongo)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从dockerfile启动mongodb 的相关文章

随机推荐