Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!