Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

330
Visualizações
Cómo ejecutar el servidor Python en el contenedor de Docker

Quiero ejecutar el servidor Python HTTP en el contenedor docker.

Mi DockerFile se ve así:

 FROM continuumio/anaconda3:latest RUN apt-get -y update RUN apt-get -y install linux-headers-amd64 build-essential libc-dev gcc RUN conda install --yes gcc RUN conda install --yes numpy RUN conda install --yes scipy RUN conda install --yes gensim RUN pip install annoy RUN conda config --add channels conda-forge RUN conda install --yes spacy RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ADD my-app.tar /usr/src/app WORKDIR /usr/src/app/source

Construyo la imagen con:

 docker build -t my-app-poc .

Inicie el contenedor e ingrese el comando:

 docker run -i -t -p 9998:9998

En el bash de la imagen de Docker, ejecuto el script:

 python Service.py

Que comienza correctamente:

 Wed Apr 5 13:09:51 2017 Server Starts - :9998

Pero cuando ingreso la dirección en mi host:

 http://localhost:9998

No pasa nada. También intenté poner EXPOSE 9998 al final de mi DockerFile pero no fue de ayuda.

Si ingreso la dirección de la docker-machine en mi host:

 http://192.168.99.100:9989/

funciona. Pero quiero ejecutar esa imagen en un servidor normal, no en mi máquina local, por lo que todo debería estar expuesto a localhost.

Lo probé en Windows 7.

¿Tienes alguna idea de cómo ejecutar esto?

¡Estaré muy contento por tu ayuda!

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Esto puede o no estar relacionado, pero no puedo agregar un comentario, ¡así que obtienes una respuesta independiente!

En el contenedor Docker, es posible que deba vincular su aplicación al host 0.0.0.0 . Ver este enlace.

Me parece (aunque tendría que saber más sobre la aplicación para estar seguro) que está buscando una conexión en la interfaz de bucle invertido. Esto expone al oyente solo a la máquina local. Por el contrario, 0.0.0.0 sirve para exponer al oyente a todas las interfaces de red de la máquina. Concretamente en este caso, el adaptador de red docker. Para una explicación más detallada, vea este post.

about 4 years ago · Santiago Trujillo Relatório

0

Lo que describiste es un comportamiento normal. Las imágenes de Docker se ejecutan en un entorno virtualizado, por lo que no pueden compartir la dirección de bucle invertido. Lo que debe hacer es redirigir el tráfico de su servidor a su imagen acoplable.

Esta página de documentación debe tener todas las respuestas que necesita.

¡Buena suerte!

about 4 years ago · Santiago Trujillo Relatório

0

Desde https://docs.docker.com/engine/reference/run/#expose-incoming-ports

La opción de exposición -p también puede tomar una dirección IP. Si desea enlazar también a 127.0.0.1, vaya allí.

intente algo como: -p 127.0.0.1:9998:9998

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda