Quectel M95: как получить смс GSM в текстовом, а не в гекса

Основываясь на ответах на этой странице, я бы добавил, что вы должны знать, что каждый оператор RUN работает независимо от других с помощью /bin/sh -c и, следовательно, не будет получать каких-либо окружающих vars, которые, как правило, будут получены в оболочках входа.

Лучший способ, который я нашел до сих пор, - добавить скрипт в /etc/bash.bashrc, а затем вызвать каждую команду в качестве входа в bash.

RUN echo "source /usr/local/bin/virtualenvwrapper.sh" >> /etc/bash.bashrc
RUN /bin/bash --login -c "your command"

Вы могли бы, например, установить и настроить virtualenvwrapper, создать виртуальный env, активировать его при использовании входа в bash, а затем установить ваши модули python в это env:

RUN pip install virtualenv virtualenvwrapper
RUN mkdir -p /opt/virtualenvs
ENV WORKON_HOME /opt/virtualenvs
RUN echo "source /usr/local/bin/virtualenvwrapper.sh" >> /etc/bash.bashrc
RUN /bin/bash --login -c "mkvirtualenv myapp"
RUN echo "workon mpyapp" >> /etc/bash.bashrc
RUN /bin/bash --login -c "pip install ..."

Чтение руководства в файлах загрузки bash помогает понять, что получается, когда.

0
задан Vitalyos 16 January 2019 в 21:32
поделиться