Я построил образ докера, используя следующие Dockerfile
:
FROM continuumio/miniconda3
ENTRYPOINT [ “/bin/bash”, “-c” ]
ADD angular_restplus.yaml angular_restplus.yaml
RUN ["conda", "env", "create", "-f", "angular_restplus.yaml"]
RUN ["/bin/bash", "-c", "source activate work"]
COPY json_to_db.py json_to_db.py
CMD ["gunicorn", "-b", "0.0.0.0:3000", "json_to_db:app"]
и команду для его создания:
sudo docker build -t testimage:latest .
, который проходит через:
Step 5/7 : RUN ["/bin/bash", "-c", "source activate work"]
---> Running in 45c6492b1c67
Removing intermediate container 45c6492b1c67
---> 5b5604dc281d
Step 6/7 : COPY json_to_db.py json_to_db.py
---> e5d05858bed1
Step 7/7 : CMD ["gunicorn", "-b", "0.0.0.0:3000", "json_to_db:app"]
---> Running in 3ada6fd24d09
Removing intermediate container 3ada6fd24d09
---> 6ed934acb671
Successfully built 6ed934acb671
Successfully tagged testimage:latest
Однако, когда я сейчас пытаюсь его использовать, он не работает;Я попытался:
sudo docker run --name testimage -d -p 8000:3000 --rm testimage:latest
, который, кажется, работает нормально при печати
b963bdf97b01541ec93e1eb7
Однако я не могу получить доступ к службе в своем браузере и использовать
sudo docker ps -a
только показывает промежуточные контейнеры, необходимые для создания образа сверху.
Когда я пытаюсь запустить его без флага -d
, я получаю
gunicorn: 1: [: “/bin/bash”,: unexpected operator
Означает ли это, что я долженизменить ENTRYPOINT
снова?Если да, то к чему?