Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Jenkins环境变量传递给docker容器?_Docker_Jenkins_Environment Variables_Devops - Fatal编程技术网

如何将Jenkins环境变量传递给docker容器?

如何将Jenkins环境变量传递给docker容器?,docker,jenkins,environment-variables,devops,Docker,Jenkins,Environment Variables,Devops,我正在使用Jenkins管道构建和部署docker容器 我想做的是将Jenkins环境变量传递给docker容器 请看屏幕截图 我在Jenkins上定义了环境变量 我使用以下命令检查docker容器环境变量 - docker exec -it docker_id bash (get into the docker) - printenv (print environment variables) 我想看看docker容器中的Jenkins环境变量 这可能吗?如果是的话,请告诉我怎么做 提前谢

我正在使用Jenkins管道构建和部署docker容器

我想做的是将Jenkins环境变量传递给docker容器

请看屏幕截图

我在Jenkins上定义了环境变量

我使用以下命令检查docker容器环境变量

- docker exec -it docker_id bash (get into the docker)
- printenv (print environment variables)
我想看看docker容器中的Jenkins环境变量

这可能吗?如果是的话,请告诉我怎么做

提前谢谢

你试过了吗

docker run-e


您可以在
.env
文件中设置所有变量,并在docker运行您的容器时将其交给:

TBS_END_POINT=http://192.168.82.2:2020/QWEr
MONGO_HOST=172.17.0.3
MONGO_PORT=27017
REPLICA_SET=replicaset
API_PORT=3001
REDIS_PORT=4432
NODE_ENV=development
然后,当您要运行容器时,请说:

docker run --env-file .env MyImage

尝试在docker终端中运行
docker machine env
,以获取所有环境变量及其值的列表。

谢谢您的回答,@Moisei。我也试过了,效果不错。但是我在构建docker容器时需要设置大量的变量。我想由Jenkins设置它们,因为我不想让它们出现在我的项目源中。您可以在管道中设置自定义步骤,将所有环境保存到文件中,然后使用--env file选项。它会工作吗?可以用你的Jenkins文件的一个例子更新吗?
TBS_END_POINT=http://192.168.82.2:2020/QWEr
MONGO_HOST=172.17.0.3
MONGO_PORT=27017
REPLICA_SET=replicaset
API_PORT=3001
REDIS_PORT=4432
NODE_ENV=development
docker run --env-file .env MyImage