Chia sẻ dữ liệu giữa Docker Host và Container

Giới thiệu
Việc chia sẻ dữ liệu giữa Docker Host và Container là một trong những tính năng hữu ích, cho phép bạn đồng bộ hóa và quản lý thông tin một cách hiệu quả trong môi trường Docker. Nhờ đó, dữ liệu có thể dễ dàng được cập nhật, lưu trữ và sử dụng giữa hệ thống chủ và các container. Trong bài viết này, chúng ta sẽ khám phá các phương pháp chia sẻ dữ liệu phổ biến như Volume và Bind Mounts, cùng các bước thực hiện chi tiết để bạn áp dụng vào công việc một cách thuận tiện.
Container – ánh xạ thư mục máy Host:
docker run -it -v /home/sitesdata:/home/data ubuntu
Lúc này, dữ liệu trên thư mục /home/sitesdata/ của máy Host thì trong container có thể truy cập, cập nhật sửa đổi … thông qua đường dẫn /home/data
Chia sẻ dữ liệu giữa các Container :
Có container với id hoặc name là container_first, trong đó nó có mount thư mục Host vào. Giờ chạy, tạo container khác cũng nhận thư mục chia sẻ dữ liệu như container_first
docker run -it --volumes-from container_first ubuntu
Bạn đã tạo ra một Container nhận thư mục chia sẻ như container có ID hoặc tên là container_first tạo trước đó.
Quản lý các ổ đĩa với docker volume
Liệt kê danh sách các ổ đĩa:
docker volume ls
Tạo một ổ đĩa:
docker volume create name_volume
Xem thông tin chi tiết về đĩa:
docker volume inspect name_volume
Xóa một ổ đĩa:
docker volume rm name_volume
Mount một ổ đĩa vào container (–mount)
# Tạo ổ đĩa có tên firstdisk
docker volume create firstdisk
Mount ổ đĩa vào container, container truy cập tại /home/firstdisk
docker run -it --mount source=firstdisk,target=/home/firstdisk ubuntu
Gán ổ đĩa vào container khi tạo container (-v)
docker volume create --opt device=path_in_host --opt type=none --opt o=bind volumename
Xóa tất cả các ổ đĩa không được sử dụng bởi container nào:
docker volume prune
Chia sẻ dữ liệu giữa Docker Host và Container là một kỹ thuật quan trọng, giúp tối ưu hóa quá trình làm việc với Docker. Bằng cách sử dụng Volume hoặc Bind Mounts, bạn có thể quản lý dữ liệu một cách linh hoạt và hiệu quả. Hãy áp dụng ngay các kiến thức này vào dự án của bạn để tận dụng tối đa sức mạnh của Docker trong việc phát triển và triển khai ứng dụng!
Post Comment