Итак, у меня есть файл docker, который я собираюсь собрать и выложить sh в Google Cloud Run, и он выглядит следующим образом:
# pull official base image
FROM python:3.7-slim
# set work directory
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip install -r requirements.txt
# copy project
COPY . /usr/src/app/
CMD python manage.py runserver 0.0.0.0:$PORT
Идея состоит в том, что однажды я пу sh это в Cloud Run, мой Django проект будет работать в 0.0.0.0:$PORT, где значение переменной среды $ PORT устанавливается Google Cloud Run автоматически.
Я пытался запустить контейнер следующего изображения локально, чтобы увидеть, если это работает. Я устанавливаю $ PORT на 80, а затем, когда запускаю контейнер с изображением docker, я получаю следующее:
"CommandError: "0.0.0.0:" is not a valid port number or address:port pair."
Просмотр других ответов, таких как this .
Я понимаю, что 0.0.0.0 является местозаполнителем для IP-адреса publi c данного компьютера. Мой вопрос: почему я не получаю «CommandError», когда я запускаю docker run [DockerImage]
локально ??
Если есть какие-либо другие вопросы, пожалуйста, дайте мне знать, я проясню это.
Редактировать: я также хочу отметить, что я следую этому учебнику