有没有办法在Docketfile中动态传递sqlhost名称

时间:2019-12-08 15:41:37

标签: docker jenkins kubernetes

我们在gitrepo中创建了一个sqlhost文件以及dockerfile,kubernetes yaml文件和jenkinsfile,每次我都必须手动在sqlhost文件中添加条目时,稍后dockerfile将从sqlhost中获取值 jenkins是否有一种方法可以将值作为参数传递给dockefile,然后构建dockefile

2 个答案:

答案 0 :(得分:1)

您尝试过ARG吗?有关更多详细信息,请参阅this文档。

答案 1 :(得分:1)

您可以使用ARGENV指令来指定Dockerfile可用的变量

ARG :示例dockerfile

FROM ubuntu
ARG SQLHOST 

在这里您可以看到dockerfile中提供了SQLHOST参数,并且在构建时指定为

$ docker build --build-arg SQLHOST=prod-vm.example.com .

您也可以在Jenkins配置中使用指定相同的内容。

ENV :示例dockerfile

FROM ubuntu
ENV SQLHOST defaultHost

在这里您可以看到dockerfile中提供了SQLHOST Environment变量,并且在构建时指定为

$ set SQLHOST=prod-vm.example.com; docker build .

您也可以在Jenkins配置中使用指定相同的内容。