Triển khai và sử dụng kho lưu trữ Docker riêng với Harbor

Chuẩn bị môi trường

Trước khi cài đặt Harbor, cần đảm bảo hệ thống đã cài đặt sẵn dockerdocker-compose.

Cài đặt Harbor

Harbor là một giải pháp quản lý registry Docker mã nguồn mở, hỗ trợ xác thực người dùng, kiểm soát truy cập và giao diện web trực quan. Trang chủ: https://goharbor.io/, mã nguồn: https://github.com/goharbor/harbor.

Tải phiên bản mới nhất từ mục releases:

wget https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-online-installer-v2.4.2.tgz
tar xzvf harbor-online-installer-v2.4.2.tgz
cd harbor

Cấu hình harbor.yml

Mở file harbor.yml và chỉnh sửa các tham số cơ bản:

# Địa chỉ IP hoặc tên miền để truy cập giao diện quản trị và registry
hostname: 192.168.100.179

# Cấu hình HTTP
http:
  port: 80

# Mật khẩu mặc định cho tài khoản admin (chỉ áp dụng lần cài đầu tiên)
harbor_admin_password: MySecurePass123

Lưu ý: không sử dụng localhost hoặc 127.0.0.1 cho hostname vì Harbor cần được truy cập từ các máy khách bên ngoài.

Thực hiện cài đặt

Sau khi cấu hình xong, chạy script cài đặt:

sudo ./install.sh

Quá trình này sẽ khởi tạo các container cần thiết và áp dụng cấu hình đã thiết lập.

Cấu hình Docker client để kết nối đến Harbor

Do Harbor đang chạy qua HTTP (không có TLS), cần khai báo registry không an toàn trong cấu hình Docker daemon.

Chỉnh sửa file /etc/docker/daemon.json:

{
  "insecure-registries": ["192.168.100.179"],
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}

Sau đó reload và khởi động lại Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

Sử dụng Harbor để lưu và đẩy image

Đăng nhập vào registry Harbor:

docker login -u admin -p MySecurePass123 192.168.100.179

Gắn tag và đẩy image lên kho riêng:

docker tag openjdk:11.0.14.1-jdk 192.168.100.179/library/openjdk:11.0.14.1-jdk
docker push 192.168.100.179/library/openjdk:11.0.14.1-jdk

Khi thành công, các layer của image sẽ được tải lên và hiển thị thông tin digest tương ứng.

Thẻ: docker harbor docker-registry docker-compose container-registry

Đăng vào ngày 14 tháng 8 lúc 15:20