в активированном - это кажется неправильно, они оба должны указывать на питон из виртуал env... во всяком случае у меня так (на Линуксе, но они близки)
$cat venv/bin/activate
что это дает ? Попробуй там export PYTHONPATH= указать на питон из вирт окружения
p = subprocess.Popen(["python3", '-u', "file2.py"], stdout=subprocess.PIPE, bufsize=1, text=True, start_new_session=True)
while True:
line = p.stdout.readline()
if not line:
break
print("line from file2:", line)
кажется ясно... при запуске образа у вас происходит мирроринг локальной папки в докер папку (WORKDIR)... если что-то там менять соответственно и в основной папке на ОС будет все менятся. Итак сделайте entrypoint sript... в нем создавайте папку... типа
mkdir ../newdir
cp -r ./ ../newdir
cd ../newdir
mv old_file new_file
node start etc