Переменные среды, переданные в контейнер, не видны в VSCode - PullRequest
0 голосов
/ 28 мая 2020

Я использую контейнер docker вроде этого:

docker run -dit --name my_container \
    -p 2222:22 \
    --gpus all \
    --rm \
    -v /etc/ssh:/etc/ssh \
    -v ~/.ssh:/root/host_ssh \
    -v /etc/my_home/config.sh:/etc/profile.d/my_config.sh \
    -e PYTHONPATH=/basepath/add/to/path \
    my_dhub/my_cont:0 /bin/bash

затем я ввожу его так:

docker exec -it my_container /bin/bash

когда я env | grep PYTHONPATH с терминала я получаю :

PYTHONPATH=/basepath/add/to/path:/basepath/ops/tools/libs/python-common/

как и ожидалось. Но когда я подключаю VSCode через Remote-S SH и запускаю ту же команду в терминале VSCode, я получаю:

PYTHONPATH=/basepath/ops/tools/libs/python-common/:/basepath/ops/tools/libs/python-common/:/basepath/ops/tools/libs/python-common/

Я пробовал как встроенный, так и внешний терминал и получил те же результаты.

Почему мой PYTHONPATH отличается, и как я могу постоянно добавлять /basepath/add/to/path. Каждый раз, когда я создаю контейнер, я могу export PYTHONPATH={$PYTHONPATH}:/basepath/add/to/path, но я хотел бы делать это автоматически во время выполнения docker.

...