Sobes.tech
Junior

როგორ შევქმნათ სურათი და დავამატოთ იგი რეგისტრირებაში?

sobes.tech AI

პასუხი AI-სგან

Docker-ის სურათის შექმნა ხორციელდება ბრძანებით docker build, რომელიც იყენებს Dockerfile-ს როგორც ინსტრუქციას. Dockerfile შეიცავს ნაბიჯებს სურათის შესაქმნელად, როგორიცაა ძირითადი სურათი, ფაილების კოპირება, დამოკიდებულებების ინსტალაცია და გარემოს კონფიგურაცია.

Dockerfile-ის მაგალითი:

# გამოიყენეთ ძირითადი სურათი
FROM ubuntu:latest

# ინსტალაცია დამოკიდებულებები
RUN apt-get update && apt-get install -y nginx

# კონფიგურაციის ფაილების კოპირება
COPY nginx.conf /etc/nginx/nginx.conf

# პორტის გახსნა
EXPOSE 80

# ვებ სერვერის დაწყება
CMD ["nginx", "-g", "daemon off;"]

შენახვის ბრძანება:

# docker build -t <სურათის_სახელი>:<ტეგი> <Dockerfile-ის_მიმართულება>
docker build -t my-nginx-image:latest .

-t my-nginx-image:latest სურათს აძლევს სახელს my-nginx-image და ტეგს latest. . აღნიშნავს მიმდინარე დირექტორიას, სადაც მდებარეობს Dockerfile.

მოსწრაფი აშენების შემდეგ, სურათი ადგილობრივად ხელმისაწვდომი იქნება. მის შენახვას რეგისტრში (მაგალითად, Docker Hub ან კერძო რეგისტრში), ჯერ უნდა შეხვიდეთ docker login ბრძანებით.

# docker login <რეგისტრის_მისამართი>
# Docker Hub-ისთვის მისამართი არ არის მითითებული
docker login

შემდეგ, სურათს უნდა მიენიჭოს ახალი ტეგი, რათა შეესაბამებოდეს რეგისტრის მისამართს:

# docker tag <ადგილობრივი_სახელი>:<ტეგი> <რეგისტრის_მისამართი>/<საწყობი_სახელი>:<ტეგი>
# Docker Hub-ისთვის, თუ მომხმარებელი 'myuser'
docker tag my-nginx-image:latest myuser/my-nginx-image:latest

და ბოლოს, სურათი უნდა გადაიტანოთ რეგისტრში:

# docker push <რეგისტრის_მისამართი>/<საწყობი_სახელი>:<ტეგი>
# Docker Hub-ისთვის
docker push myuser/my-nginx-image:latest

შენახვის და გადატანის პროცესი ხშირად ავტომატიზირებულია CI/CD სისტემებით (Jenkins, GitLab CI, GitHub Actions და სხვა).