Đó chính là lý do tại sao, khi tạo vùng chứa dữ liệu, tôi luôn đăng ký đường dẫn của nó trong một tệp. (xem tập lệnh của tôi updateDataContainerPath
)
Cách sử dụng (chỉ được sử dụng sau khi tạo vùng chứa dữ liệu):
docker inspect ${gitolite_repos_cont} > /dev/null 2>&1 || docker create --name="${gitolite_repos_cont}" gitolite.repos /bin/true
# source the script, to make the updatePath() function available
. ../updateDataContainerPath
# save the path in a file
updatePath ${gitolite_repos_cont} "$HOME/b2d/gitolite" ${grepos}
(tại đây ${grepos}
là tệp nơi bạn đăng ký hoặc lưu đường dẫn của ổ chứa dữ liệu)
Tập lệnh đó sẽ, nếu có đã có đường dẫn được lưu cho vùng chứa dữ liệu đó, xóa thư mục vùng chứa dữ liệu trống và di chuyển đường dẫn cũ sang đường dẫn mới (và cập nhật đường dẫn mới)
sudo rm -Rf "${grpath}"
sudo mv "${fgrpath}" "${grpath}"
Điều đó sẽ giúp trả lời câu hỏi 2 của bạn và tránh hoàn toàn câu hỏi của bạn 1.
Bằng cách đó, tôi có thể rm bất kỳ vùng chứa nào (bao gồm cả vùng chứa dữ liệu, không có -v
tất nhiên) và tôi biết lần sau khi tôi tạo lại vùng chứa dữ liệu đó, tôi sẽ tìm lại dữ liệu của mình.