როგორ შევქმნათ სურათი და დავამატოთ იგი რეგისტრირებაში?
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 და სხვა).