@zlodiak

Как запустить bottle-приложение как докер-контейнер?

Я написал на фреймворке bottle простейшее приложение и оно на локалхосте работает без проблем. Я использовал virtualenv и pyhton3.

Далее я сбилдил его.
Dockerfile:
FROM ubuntu
COPY . .
RUN /bin/bash -c "source venv/bin/activate"
ENTRYPOINT /bin/bash -c "python3 index.py"

Билд прошёл без проблем:
(venv) kalinin@md ~/python/bottler $ docker build -t bottler .
Sending build context to Docker daemon  26.07MB
Step 1/4 : FROM ubuntu
 ---> 7698f282e524
Step 2/4 : COPY . .
 ---> 9e182c969051
Step 3/4 : RUN /bin/bash -c "source venv/bin/activate"
 ---> Running in 2022e2fa7600
Removing intermediate container 2022e2fa7600
 ---> 16209d249539
Step 4/4 : ENTRYPOINT python3 index.py
 ---> Running in 84594de70d72
Removing intermediate container 84594de70d72
 ---> d5057555ab1a
Successfully built d5057555ab1a
Successfully tagged bottler:latest


Далее я пытаюсь запустить контейнер так:
docker run -i -t --rm -p 8000:8000 bottler

Но получаю следующее сообщение об ошибке:
/bin/bash: python3: command not found

Помогите мне пожалуйста запустить на локальной машине это приложение таким образом чтобы результат был виден в браузере по определённому адресу
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
@deliro
1) ENTRYPOINT заменить на CMD и почитать про разницу
2) Наследоваться от python:3.7, а не от ubuntu
3) Не лепить виртуальную среду в докер образе
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы