我想为我的项目的每个版本都有一个图像。但是我如何才能为所有这些版本共享一个dockerfile。唯一的区别是版本号。谢谢
最佳答案
您可以将参数传递给docker build调用。
例如,考虑以下Dockerfile
(Node.js项目的示例,但相同的主体可以应用于任何类型的应用程序):
FROM node:10-alpine
# Install 3rd parties required for your application
# Define an argument for the project version
ARG PROJVER
# Use this argument when installing the project
RUN npm install myproject@{PROJVER}
一旦有了这样的
Dockerfile
,就可以为项目的特定版本构建它,当然也可以使用该标签将其推送到注册表中:$ export PROJVER=123
$ docker build --build-arg PROJCET_VERSION=${PROJVER} -t myproject:${PROJVER}
$ docker push myregistry:5000/myproject:${PROJVER}
关于docker - 如何为我的项目的多个版本共享一个Dockerfile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56421980/