У меня есть сценарий python, который я хочу dockerize.
Этот сценарий должен изменить соединение vpn с другой страной, выполнив команду оболочки: subprocess.call(["nordvpn", "c", country])
.
Я попробовал следующее, которое не работает, так как systemd не работает. Для запуска сценария после установки nordvpn (/var/lib/dpkg/info/nordvpn.postinst
) необходимо systemd
(или init
):
FROM python:3
ADD vpn.py
RUN pip install pandas
RUN wget https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn-release_1.0.0_all.deb -P /tmp \
; apt-get install /tmp/nordvpn-release_1.0.0_all.deb \
; apt-get update \
; apt-get install -y nordvpn
CMD [ "python3", "./vpn.py" ]
Есть ли другие способы заставить это работать?
Я подумал об использовании двоичного файла nordvpn хост-системы, что было бы не самым лучшим решением, но на данный момент все в порядке.
Другое возможное решение состоит в том, чтобы устанавливать nordvpn каждый раз при запуске контейнера, но затем systemd должен бегать, что, видимо, не очень легко достичь.