nếu tôi muốn hoàn nguyên vùng chứa, tôi có thể thử cam kết một hình ảnh, sau đó xóa vùng chứa đó và tạo một vùng chứa mới từ hình ảnh đã cam kết. Nhưng nếu tôi làm điều đó, âm lượng sẽ bị xóa và tất cả dữ liệu của tôi sẽ biến mất
Như hướng dẫn sử dụng docker giải thích, khối lượng dữ liệu có nghĩa là duy trì dữ liệu bên ngoài hệ thống tập tin chứa. Điều này cũng dễ dàng chia sẻ dữ liệu giữa nhiều container.
Mặc dù Docker sẽ không bao giờ xóa dữ liệu theo khối lượng (trừ khi bạn xóa vùng chứa được liên kết với docker rm -v
), các khối lượng không được tham chiếu bởi bất kỳ vùng chứa docker nào được gọi là khối lượng lơ lửng . Những khối lượng lơ lửng đó rất khó để thoát khỏi và khó tiếp cận.
Điều này có nghĩa là ngay khi bộ chứa cuối cùng sử dụng một ổ đĩa bị xóa, khối lượng dữ liệu sẽ trở nên lơ lửng và nội dung của nó khó có thể truy cập được.
Để ngăn chặn các khối lượng lơ lửng đó, mẹo là tạo một thùng chứa docker bổ sung bằng cách sử dụng khối lượng dữ liệu bạn muốn duy trì; do đó sẽ luôn có ít nhất là container docker tham chiếu âm lượng. Bằng cách này, bạn có thể xóa bộ chứa docker chạy ứng dụng wordpress mà không mất quyền truy cập vào nội dung khối lượng dữ liệu đó.
Container như vậy được gọi là container khối lượng dữ liệu .
Phải có một số cách đơn giản để sao lưu container của tôi cộng với dữ liệu âm lượng nhưng tôi không thể tìm thấy nó ở bất cứ đâu.
sao lưu hình ảnh docker
Để sao lưu hình ảnh docker, sử dụng lệnh lưu docker sẽ tạo ra một kho lưu trữ tar có thể được sử dụng sau này để tạo một hình ảnh docker mới với lệnh tải docker .
container dự phòng
Bạn có thể sao lưu một container docker bằng các phương tiện khác nhau
- bằng cách cam kết một hình ảnh docker mới dựa trên trạng thái hiện tại của container docker bằng lệnh commit docker
- bằng cách xuất hệ thống tệp chứa docker dưới dạng lưu trữ tar bằng lệnh xuất docker . Sau này bạn có thể tạo một hình ảnh docker mới từ kho lưu trữ tar đó bằng lệnh nhập docker .
Xin lưu ý rằng các lệnh đó sẽ chỉ sao lưu hệ thống tệp lớp chứa bộ chứa docker. Điều này không bao gồm khối lượng dữ liệu .
sao lưu khối lượng dữ liệu docker
Để sao lưu một khối lượng dữ liệu, bạn có thể chạy một thùng chứa mới bằng cách sử dụng ổ đĩa bạn muốn sao lưu và thực hiện lệnh tar để tạo một kho lưu trữ nội dung âm lượng như được mô tả trong hướng dẫn sử dụng docker .
Trong trường hợp cụ thể của bạn, khối lượng dữ liệu được sử dụng để lưu trữ dữ liệu cho máy chủ MySQL. Vì vậy, nếu bạn muốn xuất một kho lưu trữ tar cho tập này, trước tiên bạn cần dừng máy chủ MySQL. Để làm như vậy, bạn sẽ phải dừng container wordpress.
sao lưu dữ liệu MySQL
Một cách khác là kết nối từ xa với máy chủ MySQL để tạo kết xuất cơ sở dữ liệu bằng lệnh mysqldump . Tuy nhiên, để điều này hoạt động, máy chủ MySQL của bạn phải được cấu hình để chấp nhận các kết nối từ xa và cũng có người dùng được phép kết nối từ xa. Đây có thể không phải là trường hợp với hình ảnh docker wordpress bạn đang sử dụng.
Biên tập
Docker gần đây đã giới thiệu các plugin khối lượng Docker cho phép ủy quyền xử lý khối lượng cho các plugin được thực hiện bởi các nhà cung cấp.
Các docker run
lệnh có hành vi mới cho -v
tùy chọn. Bây giờ có thể truyền cho nó một tên khối lượng . Các tập được tạo theo cách đó được đặt tên và dễ dàng tham khảo sau này, giảm bớt các vấn đề với khối lượng lơ lửng .
Chỉnh sửa 2
Docker giới thiệu docker volume prune
lệnh để xóa tất cả các khối lượng lơ lửng một cách dễ dàng.