我正在构建一个 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 *
以下是有关正在发生的事情的更多详细信息:
来自蒙戈:最新
从节点
- 现在基础图像是
node:latest
。上一张图就站在那里……
运行 mongod
COPY . .
运行节点./scripts/import-data.js
- 现在你跑
mongod
以及最终图像中基于的其他命令node
(不包含 mongo)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)