如何将Jenkins环境变量传递给docker容器?
我正在使用Jenkins管道构建和部署docker容器 我想做的是将Jenkins环境变量传递给docker容器 请看屏幕截图 我在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环境变量 这可能吗?如果是的话,请告诉我怎么做 提前谢
- 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