76 lines
1.8 KiB
Markdown
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)
|