如何在不使用 Docker Compose 的情况下在 Docker 文件中包含两个图像?
How to have two images in a Dockerfile without using Docker Compose?
如何在 docker 文件中有两个图像并链接?
我不想使用 docker 撰写,我想要这样的东西
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm i
COPY . /usr/src/app
EXPOSE 4000
CMD [ "npm", "start" ]
FROM mongo:latest as mongo
WORKDIR /data
VOLUME ["/data/db"]
EXPOSE 27017
但是我不知道怎么加入图片
谢谢
我认为简单的解决方案是从 mongo 映像创建您自己的映像并手动安装节点。
一个 Dockerfile 中可以有多个 FROM
:
FROM can appear multiple times within a single Dockerfile to create multiple images or use one build stage as a dependency for another. Simply make a note of the last image ID output by the commit before each new FROM instruction. Each FROM instruction clears any state created by previous instructions.
Compose 是用于定义和 运行 宁多容器 Docker 应用程序的工具。
Docker文件是一个文本文档,其中包含用户可以在命令行上为 assemble 图像调用的所有命令。
为节点和 mongo 创建一个图像意味着你将在容器中同时拥有它们,up 和 运行ning(更多资源,更难调试,不太稳定的容器,日志将是难以理解等)。
创建单独的图像,这样您就可以 运行 独立地使用任何图像:
$ docker 运行 -d -p 4000:4000 --name node myNode
$ docker 运行 -d -p 27017:27017 --name mongo myMongo
而且我强烈建议您使用 compose 文件,它会让您更好地控制整个环境。
如何在 docker 文件中有两个图像并链接?
我不想使用 docker 撰写,我想要这样的东西
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm i
COPY . /usr/src/app
EXPOSE 4000
CMD [ "npm", "start" ]
FROM mongo:latest as mongo
WORKDIR /data
VOLUME ["/data/db"]
EXPOSE 27017
但是我不知道怎么加入图片
谢谢
我认为简单的解决方案是从 mongo 映像创建您自己的映像并手动安装节点。
一个 Dockerfile 中可以有多个 FROM
:
FROM can appear multiple times within a single Dockerfile to create multiple images or use one build stage as a dependency for another. Simply make a note of the last image ID output by the commit before each new FROM instruction. Each FROM instruction clears any state created by previous instructions.
Compose 是用于定义和 运行 宁多容器 Docker 应用程序的工具。
Docker文件是一个文本文档,其中包含用户可以在命令行上为 assemble 图像调用的所有命令。
为节点和 mongo 创建一个图像意味着你将在容器中同时拥有它们,up 和 运行ning(更多资源,更难调试,不太稳定的容器,日志将是难以理解等)。
创建单独的图像,这样您就可以 运行 独立地使用任何图像:
$ docker 运行 -d -p 4000:4000 --name node myNode
$ docker 运行 -d -p 27017:27017 --name mongo myMongo
而且我强烈建议您使用 compose 文件,它会让您更好地控制整个环境。