2016-12-15 26 views
5

Giả sử tôi có 10 hình ảnh đế. Trong tất cả 10 hình ảnh docker nhiều lớp là tương tự.Làm thế nào để sao chép hình ảnh docker từ một máy chủ khác?

Trong khi sử dụng docker save -o, hình ảnh đã lưu độc lập và do đó kích thước hình ảnh lớn hơn. (~ Đối với 10 kích thước hình ảnh là khoảng 9GB)

Sau khi hình ảnh Docker kéo, tôi khám phá:

/var/lib/docker 
    --- aufs (~3GB only) 
    --- containers (Few KBs) 
    --- image (Few KBs) 
    --- ... 
    --- mnt 

Liệu có cách nào để có hiệu quả xuất khẩu hình ảnh?

Tôi cũng đã thử sao chép aufs và thư mục hình ảnh vào máy chủ lưu trữ mới. Nhưng một số container không thể bắt đầu.

Trong khi kiểm tra log:

/usr/bin/sudo must be owned by uid 0 and have the setuid bit set

Lưu ý: Tôi đã gọi this. Câu hỏi này không trùng lặp với câu hỏi đó. Nó không giải quyết trường hợp sử dụng của tôi mà tôi đã đề cập ở trên.

+1

Bản sao có thể có của [Cách sao chép hình ảnh đế từ máy chủ này sang máy chủ khác mà không qua kho lưu trữ?] (Http://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host – BMitch

+0

Giải pháp tốt nhất là chạy máy chủ đăng ký, máy chủ riêng của bạn có thể được tách thành một vùng chứa, các phiên mã hóa TLS và mật khẩu được bảo vệ nếu bảo mật là mối quan tâm. – BMitch

+1

Tất nhiên, tôi có thể chạy máy chủ đăng ký. Nhưng tôi muốn mang hình ảnh docker của tôi trong phương tiện di động như USB hoặc CD. – rajagopalx

Trả lời

2

Tôi không biết đây có phải là cách tiếp cận chính xác hay không. Nhưng phương pháp Dưới đây làm việc cho tôi. Tôi đã thử nghiệm với 30 Kolla Openstack Docker Images.

Tại sao tôi gặp sự cố với docker save?

Như tôi đã nói, tôi có 30 hình ảnh đế. Trong khi tôi lưu bằng cách sử dụng docker save -o <save image to path> <image name>. Tổng kích thước là 15 GB quá lớn để di động.

Tôi đã làm gì?

Câu chuyện dài Ngắn: Tôi đã sao chép an toàn và thư mục hình ảnh một cách cẩn thận.

Bước 1:

Trong máy bạn muốn xuất: Đảm bảo bạn chỉ có hình ảnh (những chất này được xuất khẩu). Loại bỏ tất cả các thùng chứa đang chạy và dừng lại.

Trong máy bạn muốn nhập: Đảm bảo Bạn không có bất kỳ hình ảnh và vùng chứa nào.

Bước 2:tar -cvf docker-images.tar /var/lib/docker/aufs /var/lib/docker/image Nó sẽ nén tất cả các lớp hình ảnh và cơ sở dữ liệu của nó thành một tệp tar duy nhất. Kích thước là chỉ có 3 GB

Bước 3: Trong máy, bạn muốn nhập hình ảnh,

tar -xvf docker-images.tar -C /var/lib/docker/.

Bây giờ khởi động lại docker. service docker restart.

Các vấn đề liên quan