Diferencia entre revisiones de «Ejercicio 1: Creando mi propia imagen para una app python»

De Wiki de EGC
Saltar a: navegación, buscar
(Página creada con «= Creando una imagen para una app Flask en python = *Todo el código fuente está disponible en : https://github.com/EGCETSII/1920-Practica-1 Comenzamos creando nuestra a...»)
 
 
Línea 48: Línea 48:
 
Este fichero indica que docker tiene que descargar la imagen python en su tercera versión y tiene que añadir el fichero requirements a la carpeta de usuario de la imagen.
 
Este fichero indica que docker tiene que descargar la imagen python en su tercera versión y tiene que añadir el fichero requirements a la carpeta de usuario de la imagen.
  
Docker nos ofrece un lenguaje de scripting para automatizar la creacion de imagenes.
+
Podman nos ofrece un lenguaje de scripting para automatizar la creacion de imagenes.
  
 
<syntaxhighlight lang="sh">
 
<syntaxhighlight lang="sh">
# docker build -t holamundo-flask .
+
# podman build -t holamundo-flask .
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 57: Línea 57:
  
 
<syntaxhighlight lang="sh">
 
<syntaxhighlight lang="sh">
# docker run -it -p 5000:5000 holamundo-flask
+
# podman run -it -p 5000:5000 holamundo-flask
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
Tras esto, desde un navegador, abrimos la URI: http://localhost:5000/hello/"yourname"
 
Tras esto, desde un navegador, abrimos la URI: http://localhost:5000/hello/"yourname"

Revisión actual del 12:32 19 nov 2020

Creando una imagen para una app Flask en python

Comenzamos creando nuestra app. File holamundo.py

from flask import Flask  
app = Flask(__name__) 
@app.route('/') 
def hello_world():     
    return 'Hello World' 
@app.route('/hello/<name>')
def hello_name(name):
    return 'Hello %s!' % name
if __name__ == '__main__':      
    app.run()


Definimos las dependencias File requirements.txt

Flask

Podemos usar la imagen de python3 existente en los repositorios de docker, y modificar anadiendo en la carpeta apps la aplicacion que hemos desarrollado

Para ello podemos crear un fichero Dockerfile que nos automatiza la creacion de una imagen modificada:

# Base image 
FROM python:3 
#copy the requirements txt file with all our dependencies
COPY requirements.txt ./ 
#install the dependencies
RUN pip install --no-cache-dir -r requirements.txt  
#copy the app in the image
COPY holamundo.py ./  
#define a default command to execute
CMD [ "python", "./holamundo.py" ]

Este fichero indica que docker tiene que descargar la imagen python en su tercera versión y tiene que añadir el fichero requirements a la carpeta de usuario de la imagen.

Podman nos ofrece un lenguaje de scripting para automatizar la creacion de imagenes.

# podman build -t holamundo-flask .

Va a crear la imagen, tras esto podemos lanzar:

# podman run -it -p 5000:5000 holamundo-flask

Tras esto, desde un navegador, abrimos la URI: http://localhost:5000/hello/"yourname"