Docker - Bộ nhớ

Trình điều khiển lưu trữ

Docker có nhiều trình điều khiển lưu trữ cho phép một trình điều khiển hoạt động với các thiết bị lưu trữ bên dưới. Bảng sau đây cho thấy các trình điều khiển lưu trữ khác nhau cùng với công nghệ được sử dụng cho các trình điều khiển lưu trữ.

Công nghệ Trình điều khiển lưu trữ
OverlayFS lớp phủ hoặc lớp phủ2
AUFS aufs
Btrfs brtfs
Quản lý thiết bị quản lý thiết bị
VFS vfs
ZFS zfs

Bây giờ chúng ta hãy thảo luận về một số trường hợp mà bạn sẽ sử dụng các trình điều khiển lưu trữ khác nhau -

AUFS

  • Đây là một trình điều khiển ổn định; có thể được sử dụng cho các ứng dụng sẵn sàng sản xuất.

  • Nó có khả năng sử dụng bộ nhớ tốt và tốt để đảm bảo trải nghiệm Docker mượt mà cho vùng chứa.

  • Có một hoạt động ghi cao liên quan đến trình điều khiển này cần được xem xét.

  • Nó tốt cho các hệ thống có Nền tảng như một loại dịch vụ hoạt động.

Trình quản lý thiết bị

  • Đây là một trình điều khiển ổn định; đảm bảo trải nghiệm Docker mượt mà.

  • Trình điều khiển này tốt để kiểm tra các ứng dụng trong phòng thí nghiệm.

  • Trình điều khiển này phù hợp với chức năng chính của nhân Linux.

Btrfs

  • Trình điều khiển này phù hợp với chức năng chính của nhân Linux.

  • Có một hoạt động ghi cao liên quan đến trình điều khiển này cần được xem xét.

  • Trình điều khiển này tốt cho các trường hợp bạn duy trì nhiều nhóm xây dựng.

Ovelay

  • Đây là một trình điều khiển ổn định và nó phù hợp với chức năng chính của nhân Linux.

  • Nó có một bộ nhớ sử dụng tốt.

  • Trình điều khiển này tốt để kiểm tra các ứng dụng trong phòng thí nghiệm.

ZFS

  • Đây là một trình điều khiển ổn định và nó tốt cho việc kiểm tra các ứng dụng trong phòng thí nghiệm.

  • Nó tốt cho các hệ thống hoạt động theo kiểu Nền tảng như một Dịch vụ.

Để xem trình điều khiển lưu trữ đang được sử dụng, hãy phát hành docker info chỉ huy.

Cú pháp

docker info

Tùy chọn

không ai

Giá trị trả lại

Lệnh sẽ cung cấp tất cả thông tin tương đối về thành phần Docker được cài đặt trên Docker Host.

Thí dụ

sudo docker info

Đầu ra

Kết quả sau cho thấy rằng trình điều khiển chính được sử dụng là aufs trình điều khiển và thư mục gốc được lưu trữ trong /var/lib/docker/aufs.

Khối lượng dữ liệu

Trong Docker, bạn có một ổ đĩa riêng có thể chia sẻ trên các vùng chứa. Chúng được gọi làdata volumes. Một số tính năng của khối lượng dữ liệu là -

  • Chúng được khởi tạo khi vùng chứa được tạo.
  • Chúng có thể được chia sẻ và cũng có thể được sử dụng lại giữa nhiều vùng chứa.
  • Bất kỳ thay đổi nào đối với âm lượng đều có thể được thực hiện trực tiếp.
  • Chúng tồn tại ngay cả sau khi vùng chứa bị xóa.

Hãy nhìn vào thùng chứa Jenkins của chúng tôi. Hãy làm mộtdocker inspectđể xem chi tiết của hình ảnh này. Chúng ta có thể đưa ra lệnh sau để viết đầu ra củadocker inspect vào một tệp văn bản và sau đó xem tệp tương ứng.

sudo docker inspect Jenkins > tmp.txt

Khi bạn xem tệp văn bản bằng cách sử dụng more command, bạn sẽ thấy một mục là JENKINS_HOME=/var/Jenkins_home.

Đây là ánh xạ được thực hiện trong vùng chứa thông qua hình ảnh Jenkins.

Bây giờ, giả sử bạn muốn ánh xạ ổ đĩa trong vùng chứa thành một ổ đĩa cục bộ, thì bạn cần chỉ định tùy chọn –v khi khởi chạy vùng chứa. Một ví dụ được hiển thị bên dưới -

sudo docker run –d –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

Tùy chọn –v được sử dụng để ánh xạ khối lượng trong vùng chứa là /var/jenkins_home đến một vị trí trên Máy chủ Docker của chúng tôi, đó là /home/demo.

Bây giờ nếu bạn đi đến /home/demo vị trí trên Máy chủ Docker của bạn sau khi khởi chạy vùng chứa, bạn sẽ thấy tất cả các tệp vùng chứa hiện diện ở đó.

Thay đổi trình điều khiển lưu trữ cho vùng chứa

Nếu bạn muốn thay đổi trình điều khiển lưu trữ được sử dụng cho vùng chứa, bạn có thể làm như vậy khi khởi chạy vùng chứa. Điều này có thể được thực hiện bằng cách sử dụng–volume-driver khi sử dụng docker runchỉ huy. Dưới đây là một ví dụ:

sudo docker run –d --volume-driver=flocker 
   –v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins

Các –volume-driver tùy chọn được sử dụng để chỉ định trình điều khiển lưu trữ khác cho vùng chứa.

Để xác nhận rằng trình điều khiển đã được thay đổi, trước tiên hãy sử dụng docker pslệnh để xem các vùng chứa đang chạy và lấy ID vùng chứa. Vì vậy, trước tiên hãy phát hành lệnh sau:

sudo docker ps

Sau đó, phát hành một docker inspect chống lại vùng chứa và đưa đầu ra vào tệp văn bản bằng lệnh.

sudo docker inspect 9bffb1bfebee > temp.txt

Nếu bạn duyệt qua tệp văn bản và đi đến dòng cho biết VolumeDriver, bạn sẽ thấy rằng tên trình điều khiển đã được thay đổi.

Tạo âm lượng

Một tập có thể được tạo trước bằng cách sử dụng dockerchỉ huy. Chúng ta hãy tìm hiểu thêm về lệnh này.

Cú pháp

docker volume create –-name=volumename –-opt options

Tùy chọn

  • name - Đây là tên của ổ đĩa cần được tạo.

  • opt - Đây là những tùy chọn bạn có thể cung cấp trong khi tạo âm lượng.

Giá trị trả lại

Lệnh sẽ xuất ra tên của volume được tạo.

Thí dụ

sudo docker volume create –-name = demo –opt o = size = 100m

Trong lệnh trên, chúng ta đang tạo một ổ đĩa có kích thước 100MB và có tên là bản demo.

Đầu ra

Đầu ra của lệnh trên được hiển thị bên dưới:

Liệt kê tất cả các Tập

Bạn cũng có thể liệt kê tất cả docker volumes trên một docker host. Thông tin chi tiết về lệnh này được cung cấp bên dưới:

Cú pháp

docker volume ls

Tùy chọn

không ai

Giá trị trả lại

Lệnh sẽ xuất tất cả các ổ trên docker host.

Thí dụ

sudo docker volume ls

Đầu ra

Đầu ra của lệnh trên được hiển thị bên dưới: