2016-02-23 18 views
7

Tôi có danh sách hình ảnh bên dưới trên hệ thống của tôi, muốn sao chép tất cả các hình ảnh này vào máy từ xa.Làm thế nào để lưu tất cả hình ảnh docker và sao chép sang một máy khác?

REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE 
u14_py269   latest    6a1ec0b508b3  4 days ago   885.9 MB 
u12_py273   latest    c2a804894851  4 days ago   686 MB 
u12_core   latest    0d61eba80df2  4 days ago   629.1 MB 
c6_py266   latest    cb1a94742d59  4 days ago   1.32 GB 
c6_core    latest    77c2ed19d87f  4 days ago   1.278 GB 
c7_py275   latest    bb1d3de68452  4 days ago   1.117 GB 
c7_core    latest    ca14a76e9cca  4 days ago   1.081 GB 
u14_py35   latest    d110c7e4a1f5  5 days ago   914.5 MB 
u14_py34   latest    085a37cb8614  5 days ago   830.7 MB 
u14_py276   latest    8927c6167930  5 days ago   834.1 MB 
u14_core   latest    93ead5abc25b  5 days ago   776.9 MB 
centos    centos6    36877b5acebb  5 days ago   228.9 MB 
ubuntu    latest    36248ae4a9ac  5 days ago   188 MB 
ubuntu    12.04    94a7cb19a65b  5 days ago   137.8 MB 
edgester/gerrit  latest    ce4e3238052a  6 days ago   735.2 MB 
u14_as374_py276  latest    fa5fb7189d70  11 days ago   1.497 GB 
c721_as373_py275 latest    03ccf6961d0c  11 days ago   844.3 MB 
c721_as373_py35  latest    b5fece3dd45b  11 days ago   1.127 GB 
c171_con_core  latest    8af0d24a38a0  2 weeks ago   377.2 MB 
u14_as374_php55  latest    29df638e363a  3 weeks ago   1.073 GB 
j_u14_as374_php55 latest    29df638e363a  3 weeks ago   1.073 GB 
centos    centos7    c8a648134623  8 weeks ago   196.6 MB 
centos    latest    c8a648134623  8 weeks ago   196.6 MB 
j_u14_as374_py276 latest    28f379d60882  10 weeks ago  871.5 MB 
ubuntu    14.04    89d5d8e8bafb  10 weeks ago  187.9 MB 

hiện tại tôi đang sử dụng phương pháp được đề xuất trong save and load docker images, tôi tin rằng phải có cách tốt hơn để xử lý tất cả hình ảnh.

+0

vấn đề với 'Docker lưu/là gì load'? – Auzias

+0

@Auzias trong lưu/tải phương pháp tôi sẽ phải làm điều đó cho 1 hình ảnh tại một thời điểm, tìm cách tối ưu để đối phó với tất cả các hình ảnh trong một đi. –

+1

Đó là lý do tại sao bash là mạnh mẽ. Nó có thể lặp và thực hiện các vòng lặp. Xem câu trả lời của @kpie. Và một dòng lệnh là đủ: 'docker save $ (docker images -q)' – Auzias

Trả lời

1

Sử dụng sổ đăng ký, bạn có thể có quy trình làm việc tương tự như Git. Sửa đổi vùng chứa của bạn cục bộ, cam kết thay đổi hình ảnh cục bộ, sau đó đẩy hình ảnh của bạn vào sổ đăng ký. Sau đó, bạn có thể kéo hình ảnh từ máy từ xa của mình.

Bạn có thể sử dụng Trung tâm Docker công cộng hoặc bạn có thể thiết lập máy chủ đăng ký của riêng mình.

https://docs.docker.com/registry/

1

Bạn có thể sử dụng bash để lặp qua các phản ứng để docker images chạy docker save -o <save image to path> <image name> trên mỗi hình ảnh, hơn (giả sử bạn lưu tất cả chúng vào một thư mục), bạn có thể nén nó lên và scp nó vào máy chủ từ xa.

12

Nếu bạn muốn xuất tất cả hình ảnh cùng một lúc, tạo ra một tập tin tar lớn:

docker save $(docker images -q) -o /path/to/save/mydockersimages.tar 

Nếu bạn muốn tiết kiệm bội hình ảnh trong một .tar file:

IDS=$(docker images | awk '{if ($1 ~ /^(debian|centos)/) print $3}') 
docker save $IDS -o /path/to/save/somedockersimages.tar 

Cuối cùng, nếu bạn muốn xuất nhiều hình ảnh, với một tệp .tar cho mỗi hình ảnh (không hiệu quả về đĩa: lớp chung được lưu trong mỗi tệp .tar):

docker images | awk '{if ($1 ~ /^(openshift|centos)/) print $1 " " $2 " " $3 }' | tr -c "a-z A-Z0-9_.\n-" "%" | while read REPOSITORY TAG IMAGE_ID 
do 
    echo "== Saving $REPOSITORY $TAG $IMAGE_ID ==" 
    docker save -o /path/to/save/$REPOSITORY-$TAG-$IMAGE_ID.tar $IMAGE_ID 
done 

Trên máy từ xa, bạn có thể load (nhập khẩu) những hình ảnh:

docker load -i /path/to/save/mydockersimages.tar 

Để biết thêm thông tin về lưu/tải, đọc: How to copy docker images from one host to another without via repository?

+1

Tôi tạo ra hắc ín khổng lồ và nạp nó. có tất cả hình ảnh nhưng không có hình ảnh nào có kho lưu trữ hoặc tiêu đề/Thẻ. Bây giờ làm thế nào heck tôi giả sử để biết những hình ảnh tôi có? – Bsienn

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