Sobes.tech
Junior

Hogyan építsünk egy képet, és töltsük fel a registry-be?

sobes.tech MI

Válasz az MI-től

A Docker-kép építése a docker build parancs segítségével történik, amely a Dockerfile-t használja utasításként. A Dockerfile lépéseket tartalmaz a kép létrehozásához, például az alap kép, fájlok másolása, függőségek telepítése és a környezet konfigurálása.

Példa Dockerfile:

# Alap kép használata
FROM ubuntu:latest

# Függőségek telepítése
RUN apt-get update && apt-get install -y nginx

# Konfigurációs fájlok másolása
COPY nginx.conf /etc/nginx/nginx.conf

# Port megnyitása
EXPOSE 80

# Web szerver indítása
CMD ["nginx", "-g", "daemon off;"]

Build parancs:

# docker build -t <kép_neve>:<címke> <Dockerfile_útvonala>
docker build -t my-nginx-image:latest .

-t my-nginx-image:latest a képnek a my-nginx-image nevet és a latest címkét adja. A . a jelenlegi könyvtárat jelöli, ahol a Dockerfile található.

Sikeres build után a kép helyileg elérhető lesz. Azt regisztrálni kell egy regiszterbe (pl. Docker Hub vagy privát regiszter), ehhez először be kell jelentkezni a docker login parancs segítségével.

# docker login <regiszter_címe>
# Docker Hub esetén a cím nem kerül megadásra
docker login

Ezután a képet újra kell címkézni, hogy megfeleljen a regiszter címének:

# docker tag <helyi_név>:<címke> <regiszter_címe>/<tárhely_név>:<címke>
# Docker Hub esetén, ha a felhasználó 'myuser'
docker tag my-nginx-image:latest myuser/my-nginx-image:latest

Végül a képet fel kell tölteni a regiszterre:

# docker push <regiszter_címe>/<tárhely_név>:<címke>
# Docker Hub esetén
docker push myuser/my-nginx-image:latest

A build és push folyamatát gyakran CI/CD rendszerek (Jenkins, GitLab CI, GitHub Actions stb.) automatizálják.