Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SO: Ubuntu Server 24
- ###### Flask #####
- sudo apt update
- sudo apt install -y python3 python3-pip python3-venv
- mkdir ~/flaskapp && cd ~/flaskapp
- python3 -m venv venv
- source venv/bin/activate
- pip install flask
- ### CREAR ARCHIVO app.py (sobre el directorio ~/flaskapp) #####
- from flask import Flask
- app = Flask(__name__)
- @app.get("/")
- def index():
- return "Hola desde Flask en Docker"
- if __name__ == "__main__":
- app.run(host="0.0.0.0", port=8000)
- ## GENERAR EL ARCHIVO requirements.txt (sobre el directorio ~/flaskapp) ###
- pip freeze > requirements.txt
- ##### DOCKER ######
- sudo apt remove -y docker docker-engine docker.io containerd runc || true
- sudo apt install -y ca-certificates curl gnupg
- sudo install -m 0755 -d /etc/apt/keyrings
- sudo rm /etc/apt/sources.list.d/docker.list
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
- | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- sudo chmod a+r /etc/apt/keyrings/docker.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
- https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
- | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo apt update
- sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- ### CREAR ARCHIVO Dockerfile (sobre el directorio ~/flaskapp) ###
- FROM python:3.12-slim
- WORKDIR /app
- COPY requirements.txt .
- RUN pip install --no-cache-dir -r requirements.txt
- COPY . .
- # Crear usuario no-root
- RUN adduser --disabled-password --gecos '' appuser
- USER appuser
- EXPOSE 8000
- CMD ["python", "app.py"]
- ## CREAR ARCHIVO .dockerignore (sobre el directorio ~/flaskapp) ###
- venv
- __pycache__/
- *.pyc
- ### COMPROBANDO ARCHIVOS CON ls (sobre el directorio ~/flaskapp) ###
- Dockerfile
- .dockerignore
- app.py
- requirements.txt
- venv
- ### DOCKERIZAR NUESTRA app.py en una imagen llamada "flaskapp" ####
- docker build -t flaskapp .
- ### CREAR UN CONTENEDOR llamado "miapp" desde nuestra imagen "flaskapp" ####
- docker run -d --name miapp -p 8000:8000 flaskapp
- #### EDITANDO NUESTRO CONTENEDOR ####
- Editar Dockerfile si es necesario
- Editar nuestra app.py
- docker build -t flaskapp . ## Crear imagen nueva
- docker stop miapp && docker rm miapp ##Eliminar contendedor antiguo
- docker run -d --name miapp -p 8000:8000 flaskapp ## Generar nuevo contenedor con el mismo nombre
Advertisement