Tôi đang cố định cấu hình Harbor dưới dạng sổ đăng ký kéo qua được liên kết với trung tâm Docker.
Trong khi tôi quản lý để lấy hình ảnh bằng cách thêm tiền tố vào chúng theo tài liệu, tôi không thể làm cho nó hoạt động bằng cách sử dụng gương đăng ký
Tham số daemon Docker: Các lệnh như docker kéo mysql
vẫn tải xuống các lớp từ docker.io.
cấu hình máy khách
Phiên bản docker: 20.10.8
/etc/docker/daemon.log:
{
"registry-mirrors": ["https://harbor.example.com"]
}
cấu hình bến cảng
- Bến cảng v2.3.1
- đã cài đặt bằng cách sử dụng
soạn thảo docker
- Trong giao diện Harbour:
- Cơ quan đăng ký \ Điểm cuối mới: Đã tạo điểm cuối với "Docker Hub" làm nhà cung cấp.
- Dự án \ Dự án mới: Đặt tên thành
Ủy quyền
, đánh dấu vào "Bộ đệm proxy" và chọn điểm cuối ở trên.
Thử nghiệm 1: Kéo hình ảnh có tiền tố:
$ docker kéo cảng.example.com/proxy/library/mysql
Sử dụng thẻ mặc định: mới nhất
mới nhất: Kéo từ proxy/library/mysql
33847f680f63: Đã tồn tại
5cb67864e624: Đã tồn tại
1a2b594783f5: Đã tồn tại
b30e406dd925: Đã tồn tại
48901e306e4c: Đã tồn tại
603d2b7147fd: Đã tồn tại
802aa684c1c4: Đã tồn tại
715d3c143a06: Kéo hoàn tất
6978e1b7a511: Kéo hoàn tất
f0d78b0ac1be: Kéo hoàn tất
35a94d251ed1: Kéo hoàn tất
36f75719b1a9: Kéo xong
Thông báo: sha256:8b928a5117cf5c2238c7a09cd28c2e801ac98f91c3f8203a8938ae51f14700fd
Trạng thái: Đã tải xuống hình ảnh mới hơn cho harbour.example.com/proxy/library/mysql:latest
harbour.example.com/proxy/library/mysql:latest
Dòng cuối cùng thứ hai cho thấy điều này được lấy từ repo của tôi như mong đợi.
Thử nghiệm 2: Kéo hình ảnh không có tiền tố:
$ docker kéo mysql
Sử dụng thẻ mặc định: mới nhất
mới nhất: Lấy từ thư viện/mysql
33847f680f63: Đã tồn tại
5cb67864e624: Đã tồn tại
1a2b594783f5: Đã tồn tại
b30e406dd925: Đã tồn tại
48901e306e4c: Đã tồn tại
603d2b7147fd: Đã tồn tại
802aa684c1c4: Đã tồn tại
715d3c143a06: Kéo hoàn tất
6978e1b7a511: Kéo hoàn tất
f0d78b0ac1be: Kéo hoàn tất
35a94d251ed1: Kéo hoàn tất
36f75719b1a9: Kéo xong
Thông báo: sha256:8b928a5117cf5c2238c7a09cd28c2e801ac98f91c3f8203a8938ae51f14700fd
Trạng thái: Đã tải xuống hình ảnh mới hơn cho mysql:latest
docker.io/library/mysql:latest
Điều này đến từ docker.io thay vì lấy nó từ sổ đăng ký của tôi! Sau lệnh trên, tôi cũng thấy dòng này trong/var/log/syslog:
Ngày 11 tháng 8 15:54:57 myhost dockerd[12663]: time="2021-08-11T15:54:57.229516951+02:00" level=info msg="Đang thử điểm cuối tiếp theo để kéo sau lỗi: không xác định: thư viện kho lưu trữ/mysql không tìm thấy"
Vì điều này cho thấy Docker đã thử đăng ký của tôi trước, tôi nghi ngờ vấn đề nằm ở cấu hình của sổ đăng ký chứ không phải ở Docker. Có lẽ trong các quy ước đường dẫn được sử dụng bởi Harbor ...
Có ai quản lý để lấy hình ảnh từ bộ đệm Harbor mà không cần phải thêm tiền tố cho chúng theo cách thủ công không?