2016-10-19 6 views
2

Я очень новичок в этой области и надеюсь, что кто-то может мне помочь.Запуск виртуального скрипта rc local

Итак, у меня есть бэкэнд-проект, который мне нужно запускать автоматически при включении компьютера (мне действительно все равно, как с помощью systemd или rc.local мой босс сказал мне rc.local, но я думаю, что либо будет делать). Мне просто нужно запустить контейнер докеров, затем запустить мой virtualenv, а затем запустить проект.

До сих пор я попробовал это на /etc/rc.local

docker start cassandratt #my docker container sleep 20 #an ugly hack to give time for the container to start cd /home/backend/ . venv/bin/activate . /run.py

Это не работает, но начинается докер контейнер, так что я предполагаю, что проблема вокруг virtualenv или питон, я действительно не знаю, поскольку у меня нет опыта в этой области.

Любая идея о том, как я мог это сделать?

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

Edit:

После указания SAMER, я пытался создать папку после активации virtualenv и созданный в порядке, поэтому я suppore проблема пытается выполнить run.py, возможно, загрузите python virtualenv?

docker start cassandratt #my docker container cd /home/backend/ . venv/bin/activate mkdir test #folder created fine . /run.py mkdir test2 #folder not created

+0

дать полные пути к этим исполняемых скриптов /. и запускать их с помощью/path/to/activate и 'python /path/to/run.py' –

+0

Полный путь к virtualenv:/home/backend/venv/bin/activate. Я попробовал это на оболочке, и у меня есть разрешение denied – Mese

+0

, так что ваша проблема разрешает выполнение разрешений «активировать» –

ответ

0

Таким образом, частично, решение, кажется, установить некоторые переменные вместо экранных их непосредственно. По крайней мере, это сработало для меня. Благодаря Samer за предоставленную нам большой наконечник :)

HOME=/home/backend #the project path docker start container . $HOME/venv/bin/activate #activates the virtualenv of the project /usr/bin/env python $HOME/run.py & #runs the run.py through virtualenv's python #and runs it in the background exit 0

+1

рад помочь !. –