Ejecute Python Console a través de docker-compose en Pycharm
pycharm docker compose (2)
Tengo algunos problemas al ejecutar pycharm con un intérprete de python remoto a través de docker-compose. Todo funciona muy bien, excepto la consola de Python, cuando presiono el botón Ejecutar, solo muestra el siguiente mensaje:
"Error: no se puede encontrar el nombre del contenedor para el servicio" web "de la salida de Docker-compose"
Realmente no puedo entender por qué me mantiene demostrando que si mi
docker-compose.yml
proporciona un servicio
web
.
¿Alguna ayuda?
EDITAR:
docker-compose.yml
version: ''2''
volumes:
dados:
driver: local
media:
driver: local
static:
driver: local
services:
beat:
build: Docker/beat
depends_on:
- web
- worker
restart: always
volumes:
- ./src:/app/src
db:
build: Docker/postgres
ports:
- 5433:5432
restart: always
volumes:
- dados:/var/lib/postgresql/data
jupyter:
build: Docker/jupyter
command: jupyter notebook
depends_on:
- web
ports:
- 8888:8888
volumes:
- ./src:/app/src
python:
build:
context: Docker/python
args:
REQUIREMENTS_ENV: ''dev''
image: helpdesk/python:3.6
redis:
image: redis:3.2.6
ports:
- 6379:6379
restart: always
web:
build:
context: .
dockerfile: Docker/web/Dockerfile
command: python manage.py runserver 0.0.0.0:8000
depends_on:
- python
- db
ports:
- 8001:8000
restart: always
volumes:
- ./src:/app/src
worker:
build: Docker/worker
depends_on:
- web
- redis
restart: always
volumes:
- ./src:/app/src
Dockerfile
FROM python:3.6
# Set requirements environment
ARG REQUIREMENTS_ENV
ENV REQUIREMENTS_ENV ${REQUIREMENTS_ENV:-prod}
# Set PYTHONUNBUFFERED so the output is displayed in the Docker log
ENV PYTHONUNBUFFERED=1
# Install apt-transport-https
RUN apt-get update && /
DEBIAN_FRONTEND=noninteractive apt-get install -y /
apt-transport-https
# Configure yarn repo
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
# Install APT dependencies
RUN apt-get update && /
DEBIAN_FRONTEND=noninteractive apt-get install -y /
locales /
openssl /
yarn
# Set locale
RUN locale-gen pt_BR.UTF-8 && /
localedef -i pt_BR -c -f UTF-8 -A /usr/share/locale/locale.alias pt_BR.UTF-8
ENV LANG pt_BR.UTF-8
ENV LANGUAGE pt_BR.UTF-8
ENV LC_ALL pt_BR.UTF-8
# Copy requirements files to the container
RUN mkdir -p /tmp/requirements
COPY requirements/requirements-common.txt /
requirements/requirements-$REQUIREMENTS_ENV.txt /
/tmp/requirements/
# Install requirements
RUN pip install /
-i http://root:[email protected]:4040/root/pypi/+simple/ /
--trusted-host pypi.defensoria.to.gov.br /
-r /tmp/requirements/requirements-$REQUIREMENTS_ENV.txt
# Remove requirements temp folder
RUN rm -rf /tmp/requirements
Esta es la imagen de Python Dockerfile, el Dockerfile web simplemente declara desde esta imagen y copia la carpeta de origen en el contenedor.
Creo que este es un problema de cadena de dependencia, la
web
depende de
python
, por lo que, cuando el contenedor de
python
se levanta, la
web
todavía no existe.
Eso puede causar el error.
Aclamaciones
Instalar las bibliotecas necesarias a través de la línea de comandos y ejecutar el intérprete de Python desde la RUTA debería ser suficiente.
También puede consultar el manual de JetBrains, en cuanto a cómo se han configurado para los intérpretes de sus IDEs.