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.