Notes/2026-02-26.md

76 lines
1.8 KiB
Markdown

[Jeudi 26 Février 2026]
# dockerisation de l'appli avec tout les paramètres
1. [Commande du jour]
docker build -t grabber:latest .
Explanation
A Dockerfile is a text-based document that's used to create a container image. It provides instructions to the image builder on the commands to run, files to copy, startup command, and more.
As an example, the following Dockerfile would produce a ready-to-run Python application:
FROM python:3.13.5
WORKDIR /usr/local/app
# Install the application dependencies
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
# Copy in the source code
COPY src ./src
EXPOSE 8080
# Setup an app user so the container doesn't run as the root user
RUN useradd app
USER app
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"]
2. [DOCKER DOCKER DOCKER]
docker build -t grabber-app .
docker build -t grabber:latest .
docker run -dit --name grabber grabber:latest
docker ps
docker exec -ti eb25daZ bash
---------------------------
docker build -t grabber:latest . <- point pas oublier
docker rm --force grabber <supprimer le container du meme nom si test auparavant>
docker ps
docker container ls -a
docker container prune
docker logs grabber
docker run -dit --name grabber grabber
docker inspect grabber
docker exec -ti grabber bash mettreAdresseIP
compose.yml
services:
grabber:
build: .
depends_on : db
ports: -"8080:80"
db:
image: postgres:18
environment:
POSTGRES_USER: gb
POSTGRES_DB: gbdb
3. [Modif dans app.py]
pg_url = (
f"postgresql+psycopg://"
f"{os.getenv('POSTGRES_USER')}:"
f"{os.getenv('POSTGRES_PASSWORD')}"
f"@db:5432/"
f"{os.getenv('POSTGRES_DB')}"
)
print(f"URL PGDB: {pg_url}")
engine = create_engine(pg_url)
pour remplacer sqlite par postgres (postsql)