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 docker và docker-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.