Sobes.tech
Junior

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ď.).