Ako zostaviť obraz a nahrať ho do registra?
sobes.tech AI
Odpoveď od AI
Vytváranie Docker obrazu sa vykonáva príkazom docker build, ktorý používa Dockerfile ako inštrukciu. Dockerfile obsahuje kroky na vytvorenie obrazu, ako je základný obraz, kopírovanie súborov, inštalácia závislostí a konfigurácia prostredia.
Príklad Dockerfile:
# Používame základný obraz
FROM ubuntu:latest
# Inštalujeme závislosti
RUN apt-get update && apt-get install -y nginx
# Skopírujeme konfiguračné súbory
COPY nginx.conf /etc/nginx/nginx.conf
# Otvoríme port
EXPOSE 80
# Spustíme webový server
CMD ["nginx", "-g", "daemon off;"]
Príkaz na zostavenie:
# docker build -t <názov_obrázku>:<tag> <cesta_k_Dockerfile>
docker build -t my-nginx-image:latest .
-t my-nginx-image:latest priradí obrazu názov my-nginx-image s tagom latest.
. označuje aktuálny adresár, kde sa nachádza Dockerfile.
Po úspešnej zostavbe bude obraz dostupný lokálne. Ak ho chcete uložiť do registra (napríklad Docker Hub alebo súkromného registra), musíte sa najskôr prihlásiť pomocou príkazu docker login.
# docker login <adresa_registra>
# Pre Docker Hub sa adresa neuvádza
docker login
Následne je potrebné obraz znovu označiť tak, aby zodpovedal adrese registra:
# docker tag <lokálny_názov>:<tag> <adresa_registra>/<názov_repozitára>:<tag>
# Pre Docker Hub, ak je používateľ 'myuser'
docker tag my-nginx-image:latest myuser/my-nginx-image:latest
A nakoniec, obraz pushnúť do registra:
# docker push <adresa_registra>/<názov_repozitára>:<tag>
# Pre Docker Hub
docker push myuser/my-nginx-image:latest
Proces zostavenia a pushovania sa často automatizuje pomocou systémov CI/CD (Jenkins, GitLab CI, GitHub Actions atď.).