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

205
Visualizações
Docker imagen conda entorno y matraz

Me gustaría hacer que una API Flask se ejecute en docker con un entorno conda.

Parece que puedo instalar el entorno conda desde el archivo .yml.

Pero no puedo ejecutar la aplicación cuando ejecuto la ventana acoplable.

Solo tengo errores sobre archivos que no existen

 exec source activate flask_env && python app.py failed: No such file or directory

La API del matraz se basa en un ejemplo simple:

 from flask import Flask, jsonify app = Flask(__name__) @app.route('/', methods=['GET']) def hello_world(): return jsonify({'message': 'Hello World'}) @app.route('/test', methods=['GET']) def test(): return jsonify({'test': 'test'}) if __name__ == "__main__": app.run(debug=True) # remember to set debug to False

El Dockerfile es:

 FROM continuumio/miniconda3:latest WORKDIR /app # Install myapp requirements COPY environment.yml /app/environment.yml RUN conda config --add channels conda-forge \ && conda env create -n myapp -f environment.yml \ && rm -rf /opt/conda/pkgs/* # Copy all files after to avoid rebuild the conda env each time COPY . /app/ # activate the myapp environment ENV PATH /opt/conda/envs/myapp/bin:$PATH # Launch the API CMD [ "source activate flask_env && python app.py" ]

Y el archivo de entorno es:

 name: myapp channels: - conda-forge - defaults dependencies: - flask=1.0.2 - python=3.7.3

Intenté muchas cosas pero no puedo hacer que funcione. Me he perdido algo ?

Gracias

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Mira esto :

La instrucción CMD tiene tres formas:

CMD ["ejecutable","param1","param2"] (forma ejecutiva, esta es la forma preferida)
CMD ["param1","param2"] (como parámetros predeterminados para ENTRYPOINT)
Comando CMD param1 param2 (formulario de shell)

Aquí, su CMD se usa como parámetro de ENTRYPOINT (vea esto ), por lo que debe usar el siguiente formato:

 CMD ["param1","param2"] (as default parameters to ENTRYPOINT)

Pero, su comando tiene && en él, por lo que debe habilitar Shell en formato json. Entonces, para su caso, este podría ser el siguiente, FYI:

 CMD ["bash", "-c", "source activate flask_env && python app.py"]
over 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