如何为我的项目的多个版本共享一个Dockerfile?

如何为我的项目的多个版本共享一个Dockerfile?,docker,dockerfile,Docker,Dockerfile,我希望我的项目的每个版本都有一个图像。但是我如何为所有这些版本共享一个dockerfile呢。唯一的区别是版本号。谢谢您可以将参数传递给docker构建调用 例如,考虑下面的 DOCKFrase(No.js项目的示例,但相同的原则可以适用于任何类型的应用程序): 一旦你有了这样一个Dockerfile,你就可以为你的项目的某个版本构建它,当然也可以用这个标签把它推到你的注册表中: $ export PROJVER=123 $ docker build --build-arg PROJCET_VE

我希望我的项目的每个版本都有一个图像。但是我如何为所有这些版本共享一个dockerfile呢。唯一的区别是版本号。谢谢

您可以将参数传递给docker构建调用

例如,考虑下面的<代码> DOCKFrase(No.js项目的示例,但相同的原则可以适用于任何类型的应用程序):

一旦你有了这样一个
Dockerfile
,你就可以为你的项目的某个版本构建它,当然也可以用这个标签把它推到你的注册表中:

$ export PROJVER=123
$ docker build --build-arg PROJCET_VERSION=${PROJVER} -t myproject:${PROJVER}
$ docker push myregistry:5000/myproject:${PROJVER}

您可以将参数传递给docker生成调用

例如,考虑下面的<代码> DOCKFrase(No.js项目的示例,但相同的原则可以适用于任何类型的应用程序):

一旦你有了这样一个
Dockerfile
,你就可以为你的项目的某个版本构建它,当然也可以用这个标签把它推到你的注册表中:

$ export PROJVER=123
$ docker build --build-arg PROJCET_VERSION=${PROJVER} -t myproject:${PROJVER}
$ docker push myregistry:5000/myproject:${PROJVER}

这个参数可以用在FROM语句中吗?e、 g.FROM node:@{VERSION}@zjffdu是的,实际上,您只需将定义它的行(
ARF PROJVER
)移到
FROM
行上方,这个参数可以在FROM语句中使用吗?e、 g.FROM node:@{VERSION}@zjffdu是的,实际上,您只需将定义它的行(
ARF PROJVER
)移动到
FROM
行上方