Cài đặt và sử dụng Local Private Docker Registry

Docker

Docker Registry là gì?

Docker registry là nơi chứa các image trong quá trình khởi động các container. Khi sử dụng câu lệnh docker pull để pull image về tức là chúng ta kết nối đến Docker hub chính thức. Ở đó bạn có thể tạo và lưu trữ image cho mình nhưng nếu không trả phí bạn phải public image của bạn. Nếu muốn lưu trữ Docker image sử dụng nội bộ chúng ta phải triển khải Docker Registry cho riêng mình. Bài viết này sẽ hướng dẫn các bạn tạo và sử dụng Private Docker Registry trên Localhost.

Xem thêm:

Docker là gì?

Sử dụng Docker như thế nào?

Truyền lệnh từ Host vào Docker Container

Sử dụng Docker: Export/Import, Save/Load Container

Sử dụng Docker: Dockerfile

Tạo và sử dụng Docker Registry

Cài đặt Docker Registry và Web UI

Để cài đặt Docker Registry, trước hết phải cài đặt Docker cho server, nếu chưa cài đặt bạn có thể xem hướng dẫn tại đây

Cài đặt Docker Registry

Cài đặt Docker Registry v2 bằng lệnh sau:

Trong đó

  • registry-srv -> tên container.
  • -p 5000:5000 -> map port 5000 của host và container
  • –restart=always -> luôn luôn bật container
  • registry:2 -> tên image

Cài đặt Web UI cho Registry

Trước khi cài đặt Web UI chúng ta tạo file config bằng cách sau:

Thêm nội dung file như sau:

Trong đó

  • readonly: false -> cho phép xóa image
  • enabled: false -> không cần login registry

Cài đặt Web UI cho Registry bằng lệnh sau:

Trong đó

  • registry-web -> tên container.
  • -p 8080:8080 -> map port 8080của host và container
  • –restart=always -> luôn luôn bật container
  • –link registry-srv -> liên kết với docker registry container đã tạo ở trên
  • hyper/docker-registry-web -> tên image

Sau khi cài đặt xong các bạn truy cập vào Registry Server theo đường dẫn http://IP:8080 Kết quả trả về như sau là cài đặt thành công.

Sử dụng

Để kiểm tra Docker registry hoạt động hay không, từ một máy client bất kì đã cài docker, ta tiến hành test như sau:

Pull Centos Image

Tạo image tag cho registry

Push image lên Docker Registry

Với môi trường Localhost chúng ta sẽ gặp lỗi security về https như sau:

Để fix lỗi trên, có 2 trường hợp

  • Đối với docker-io bạn chỉnh sửa file /etc/docker/daemon.json và thêm vào dòng { “insecure-registries”:[“192.168.1.93:5000”] }
  • Đối với docker ce: chỉnh sửa file /usr/lib/systemd/system/docker.service. Tìm đến dòng ExecStart=/usr/bin/dockerd
    thay thế bằng ExecStart=/usr/bin/dockerd –insecure-registry 192.168.1.93:5000 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
  • Sau đó thực thi lệnh systemctl daemon-reloadsystemctl restart docker  để khởi động lại docker

Tiến hành push image sau khi fix lỗi https

Refresh lại Web UI nếu kết quả như bên dưới là thành công

Pull thử image vừa push

Trên đây là cách đơn giản để Tạo và sử dụng Docker Registry trong môi trường localhost phục vu học tập, nghiên cứu cũng như làm việc. Chúc các bạn thành công.

Nguồn: https://hub.docker.com/r/hyper/docker-registry-web/

Share: