Изменить строку перед запуском контейнера - PullRequest
0 голосов
/ 18 апреля 2020

Я использовал следующую команду для создания docker образа

docker build -t shantanuo/mydash .

И dockerfile:

FROM continuumio/miniconda3
EXPOSE 8050
RUN cd /tmp/
RUN apt-get update
RUN apt-get install --yes git zip vim
RUN git clone https://github.com/kanishkan91/SuperTrendfor50Stocks.git
RUN pip install -r SuperTrendfor50Stocks/requirements.txt
WORKDIR SuperTrendfor50Stocks/

Я могу запустить контейнер, изменить файл приложения и затем запустите приложение.

Шаг 1:

docker run -p 8050:8050 -it shantanuo/mydash bash

Шаг 2:

vi application.py

Изменить последнюю строку

application.run_server (debug = True)

application.run (host = '0.0.0.0')

Шаг 3:

python application.py

Могу ли я избежать этих 3 шагов и объединить все в моем докер-файле?

1 Ответ

1 голос
/ 18 апреля 2020

Я не думаю, что это хороший подход, чтобы изменить строку кода, а затем запустить приложение вручную, почему бы не создать собственный код c и соответственно изменить поведение приложения на основе ENV.

Вы можете попробовать

# set default value accordingly
app.run(host=os.getenv('HOST', "127.0.0.1") , debug=os.getenv('DEBUG', False))

Теперь вы можете изменить это поведение на основе ENV.

web:
  build: ./web
  environment:
    - HOST=0.0.0.0
    - DEBUG=True

или

docker run -p 8050:8050 -e HOST="0.0.0.0" e DEBUG=True -it shantanuo/mydash

Вам также необходимо установить CMD в Dockerfile

CMD python app.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...