Я использую контейнер 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.