Đẩy hình ảnh Docker lên nền tảng lưu trữ
Sau khi xây dựng xong một hình ảnh (image) tùy chỉnh, bước tiếp theo là chia sẻ hoặc triển khai nó. Việc đẩy hình ảnh lên các dịch vụ lưu trữ như Docker Hub hoặc Alibaba Cloud Container Registry giúp bạn dễ dàng phân phối và sử dụng lại trên nhiều môi trường.
Đăng tải lên Docker Hub
- Tạo tài khoản Docker Hub: Truy cập https://hub.docker.com để đăng ký tài khoản nếu chưa có.
- Đăng nhập qua dòng lệnh:
docker login -u ten_nguoi_dung -p mat_khau
- Đổi tên hình ảnh theo định dạng người dùng/hình_ảnh:tag. Ví dụ, đổi tên hình ảnh
mytomcatthànhalexgong/tomcat:1.0:
docker tag mytomcat alexgong/tomcat:1.0
docker images
Kết quả sẽ hiển thị:
REPOSITORY TAG IMAGE ID CREATED SIZE
alexgong/tomcat 1.0 17c56d67c1d8 16 hours ago 663MB
- Đẩy hình ảnh lên Docker Hub:
docker push alexgong/tomcat:1.0
Hệ thống sẽ bắt đầu tải từng lớp (layer) lên, kết quả tương tự như:
The push refers to repository [docker.io/alexgong/tomcat]
b8a5a0eded0e: Pushed
...
1.0: digest: sha256:27b242f62542d1cbd669a6e636d6526dc508ff30dfb8401d443415ed32817b16 size: 1585
Đăng tải lên Dịch vụ Hình ảnh Alibaba Cloud
- Đăng nhập vào Alibaba Cloud, truy cập mục Container Registry trong bảng điều khiển.
- Tạo không gian tên (namespace): Mỗi tài khoản có thể tạo tối đa ba namespace. Nên đặt theo tổ chức hoặc cá nhân (ví dụ:
MyCompany), không nên đặt theo ứng dụng (nhưnginx). - Tạo kho hình ảnh (repository): Chọn namespace, đặt tên kho, loại kho (công khai hoặc riêng tư), và mô tả ngắn.
- Sau khi tạo, chọn Quản lý để xem hướng dẫn đăng hình ảnh.
Các bước thực hiện cụ thể
- Đăng nhập vào registry của Alibaba Cloud:
sudo docker login --username=ten_dang_nhap registry.cn-shanghai.aliyuncs.com
Nhập mật khẩu khi được yêu cầu. Kết quả:
Login Succeeded
Thông tin đăng nhập sẽ được lưu tại /root/.docker/config.json, ví dụ:
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "YWxleGdvbmc6OTYyNDY0aHVhbmc2MTI="
},
"registry.cn-shanghai.aliyuncs.com": {
"auth": "YWxleOmprOS4iuivu+WIneS4gDpBbGV4LUdDWA=="
}
}
}
- Đổi tên hình ảnh để phù hợp với địa chỉ registry của Alibaba:
docker tag 17c56d67c1d8 registry.cn-shanghai.aliyuncs.com/alexgong/tomcat:1.0
Kiểm tra lại danh sách hình ảnh:
REPOSITORY TAG IMAGE ID SIZE
registry.cn-shanghai.aliyuncs.com/alexgong/tomcat 1.0 17c56d67c1d8 663MB
- Đẩy hình ảnh lên Alibaba Cloud:
docker push registry.cn-shanghai.aliyuncs.com/alexgong/tomcat:1.0
Kết quả tương tự:
The push refers to repository [registry.cn-shanghai.aliyuncs.com/alexgong/tomcat]
b8a5a0eded0e: Pushed
...
1.0: digest: sha256:... size: 1585
- Truy cập giao diện web của Alibaba Cloud để kiểm tra hình ảnh đã được tải lên trong phần Phiên bản hình ảnh.