Sobes.tech
Junior

Kako sastaviti sliku i poslati je u registar?

sobes.tech АИ

Одговор од АИ

Izgradnja Docker slike vrši se komandnom docker build, koja koristi Dockerfile kao instrukciju. Dockerfile sadrži korake za kreiranje slike, kao što su osnovna slika, kopiranje fajlova, instalacija zavisnosti i konfiguracija okruženja.

Primer Dockerfile:

# Koristimo osnovnu sliku
FROM ubuntu:latest

# Instaliramo zavisnosti
RUN apt-get update && apt-get install -y nginx

# Kopiramo konfiguracione fajlove
COPY nginx.conf /etc/nginx/nginx.conf

# Otvaramo port
EXPOSE 80

# Pokrećemo veb server
CMD ["nginx", "-g", "daemon off;"]

Komanda za izgradnju:

# docker build -t <ime_slike>:<tag> <putanja_do_Dockerfile>
docker build -t my-nginx-image:latest .

-t my-nginx-image:latest dodeljuje slici ime my-nginx-image sa oznakom latest. . označava trenutni direktorijum gde se nalazi Dockerfile.

Nakon uspešne izgradnje, slika će biti dostupna lokalno. Da biste je sačuvali u registru (npr. Docker Hub ili privatni registar), prvo se morate prijaviti u registar pomoću komande docker login.

# docker login <adresa_registra>
# Za Docker Hub, adresa nije specificirana
docker login

Zatim, sliku je potrebno ponovo označiti tako da odgovara adresi registra:

# docker tag <lokalno_ime>:<tag> <adresa_registra>/<ime_repozitorijuma>:<tag>
# Za Docker Hub, ako je korisnik 'myuser'
docker tag my-nginx-image:latest myuser/my-nginx-image:latest

Na kraju, sliku treba push-ovati u registar:

# docker push <adresa_registra>/<ime_repozitorijuma>:<tag>
# Za Docker Hub
docker push myuser/my-nginx-image:latest

Proces izgradnje i push-a često se automatizuje pomoću CI/CD sistema (Jenkins, GitLab CI, GitHub Actions itd.).