Hình ảnh Docker được lưu trữ dưới dạng các lớp hệ thống tập tin. Mỗi lệnh trong Dockerfile tạo ra một lớp. Bạn cũng có thể tạo các lớp bằng cách sử dụng docker commit
từ dòng lệnh sau khi thực hiện một số thay đổi ( docker run
có thể thông qua ).
Các lớp này được lưu trữ theo mặc định dưới /var/lib/docker
. Mặc dù về mặt lý thuyết, bạn có thể chọn các tệp anh đào từ đó và cài đặt nó trong một máy chủ docker khác, có lẽ là một ý tưởng tồi để chơi với biểu diễn bên trong được sử dụng bởi Docker.
Khi bạn đẩy hình ảnh của mình, các lớp này được gửi đến cơ quan đăng ký (đăng ký trung tâm docker, theo mặc định, trừ khi bạn gắn thẻ hình ảnh của mình với một tiền tố đăng ký khác) và được lưu trữ ở đó. Khi đẩy, id lớp được sử dụng để kiểm tra xem bạn đã có lớp cục bộ hay chưa cần tải xuống. Bạn có thể sử dụng docker history
để xem qua các lớp (hình ảnh khác) được sử dụng (và, ở một mức độ nào đó, lệnh nào đã tạo ra lớp đó).
Đối với các tùy chọn để chia sẻ một hình ảnh mà không cần đẩy vào sổ đăng ký trung tâm docker, các tùy chọn tốt nhất của bạn là:
docker save
một hình ảnh hoặc docker export
một container. Điều này sẽ xuất một tệp tar thành đầu ra tiêu chuẩn, vì vậy bạn sẽ muốn làm một cái gì đó như thế nào docker save 'dockerizeit/agent' > dk.agent.latest.tar
. Sau đó, bạn có thể sử dụng docker load
hoặc docker import
trong một máy chủ khác.
Lưu trữ đăng ký riêng của bạn. - Lỗi thời, xem bình luận Xem hình ảnh đăng ký docker . Chúng tôi đã xây dựng một sổ đăng ký được hỗ trợ s3 mà bạn có thể bắt đầu và dừng khi cần thiết (tất cả trạng thái được giữ trong nhóm s3 bạn chọn) rất đơn giản để thiết lập. Đây cũng là một cách thú vị để xem những gì xảy ra khi đẩy vào sổ đăng ký
Sử dụng một sổ đăng ký khác như quay.io (cá nhân tôi chưa từng thử nó), mặc dù bất kỳ mối quan tâm nào của bạn với trung tâm docker cũng có thể sẽ áp dụng ở đây.