Как передать переменные среды Jenkins в Docker-контейнер? - PullRequest
0 голосов
/ 07 ноября 2018

Я использую конвейер Jenkins для сборки и развертывания док-контейнера.

Я хочу передать переменные среды Jenkins в Docker-контейнер.

Смотрите скриншот.

Я определил переменные окружения в Jenkins.

enter image description here

Я проверяю переменные среды контейнера Docker с помощью следующих команд

- docker exec -it docker_id bash (get into the docker)
- printenv (print environment variables)

Я хочу видеть переменные среды Jenkins в контейнере Docker.

Возможно ли это? Если да, пожалуйста, дайте мне знать, как это сделать.

Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 07 ноября 2018

вы можете установить все свои переменные в файле .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
0 голосов
/ 17 января 2019

Попробуйте запустить docker-machine env в терминале Docker, чтобы получить список всех переменных среды и их значений.

0 голосов
/ 07 ноября 2018

Вы пробовали

Docker Run -E

https://docs.docker.com/engine/reference/run/#env-environment-variables

$ export today=Wednesday
$ docker run -e "deep=purple" -e today --rm alpine env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=d2219b854598
deep=purple
today=Wednesday
HOME=/root

или

$ docker run -d --name tst -e TESTME=YES busybox tail -f /dev/null
55a3fe206588a8030365df30a670ca89a50c54816d044184d5870a4a76ce8199
$ docker exec -it tst sh
/ # echo $TESTME
YES
/ #
...