Khi cần chuyển một Docker image từ một Docker host này sang một Docker host khác, bạn có thể sử dụng lệnh docker save
và docker load
. Đây là hai lệnh cơ bản cho phép bạn xuất và nhập các Docker image dưới dạng tệp nén (tarball) giữa các hệ thống khác nhau. Cùng với đó, bạn có thể kết hợp với các công cụ như scp
hoặc bất kỳ phương pháp sao chép tệp nào khác để di chuyển image giữa các máy.
Các bước chi tiết để import Docker image đến một Docker host khác
1. Export Docker image từ Docker host nguồn
Trước tiên, bạn cần xuất Docker image từ Docker host nguồn thành một tệp nén (tarball) bằng lệnh docker save
.
Cú pháp lệnh:
docker save -o <output_file.tar> <image_name>:<tag>
Ví dụ:
docker save -o my_image.tar my_image:latest
Lệnh này sẽ lưu Docker image my_image:latest
thành tệp nén my_image.tar
. Nếu không chỉ định thẻ (tag), mặc định Docker sẽ lấy phiên bản latest
.
2. Chuyển Docker image đến Docker host đích
Sau khi đã xuất Docker image thành tệp tarball, bạn cần chuyển tệp này đến Docker host đích. Bạn có thể sử dụng lệnh scp
hoặc bất kỳ phương pháp sao chép tệp nào để di chuyển tệp .tar
này giữa các máy chủ.
Ví dụ sử dụng scp
để chuyển file:
scp my_image.tar user@remote_host:/path/to/destination/
3. Import Docker image vào Docker host đích
Sau khi chuyển Docker image thành công, trên Docker host đích, bạn sử dụng lệnh docker load
để nhập Docker image từ tệp .tar
.
Cú pháp lệnh:
docker load -i <input_file.tar>
Ví dụ:
docker load -i my_image.tar
Lệnh này sẽ nạp Docker image từ tệp my_image.tar
vào hệ thống Docker trên Docker host đích. Sau đó, bạn có thể kiểm tra xem image đã được import thành công chưa bằng lệnh:
Kết luận
Để import một Docker image đến một Docker host khác, bạn cần sử dụng kết hợp các lệnh docker save
và docker load
để xuất image từ Docker host nguồn thành tệp .tar
, sau đó chuyển tệp đó và nạp lại image vào Docker host đích. Đây là một cách thức đơn giản và hiệu quả để di chuyển Docker image mà không cần đẩy lên các registry công cộng như Docker Hub.