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 savedocker 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:

docker images

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 savedocker 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.