Liên kết vùng chứa cho phép nhiều vùng chứa liên kết với nhau. Đó là một lựa chọn tốt hơn là để lộ các cổng. Hãy đi từng bước và tìm hiểu cách thức hoạt động của nó.
Bước 1 – Tải xuống hình ảnh Jenkins, nếu nó chưa có, bằng cách sử dụng lệnh kéo Jenkins .
Bước 2 – Sau khi hình ảnh có sẵn, hãy chạy vùng chứa, nhưng lần này, bạn có thể chỉ định tên cho vùng chứa bằng cách sử dụng tùy chọn –-name . Đây sẽ là nơi chứa nguồn
Bước 3 – Tiếp theo, đã đến lúc khởi chạy vùng chứa đích, nhưng lần này, chúng tôi sẽ liên kết nó với vùng chứa nguồn của chúng tôi. Đối với vùng chứa đích của chúng tôi, chúng tôi sẽ sử dụng hình ảnh Ubuntu tiêu chuẩn.
Khi bạn thực hiện một docker ps , bạn sẽ thấy cả hai vùng chứa đang chạy.
Bước 4 – Bây giờ, hãy gắn vào vùng chứa nhận.
Sau đó chạy lệnh env . Bạn sẽ nhận thấy các biến mới để liên kết với vùng chứa nguồn.
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 |
TRÊN | trên |
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 –
TRÊN
- Đâ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 các 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ó rất tốt để 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 bộ nhớ đang được sử dụng, hãy đưa ra lệnh thông tin bộ gắn.
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 Máy chủ lưu trữ Docker.Thí dụ
sudo docker info
Đầu ra
Kết quả sau cho thấy trình điều khiển chính được sử dụng là trình điều khiển aufs 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 khối lượng riêng có thể chia sẻ trên các vùng chứa. Chúng được gọi là khối lượng dữ liệu . 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 cùng kiểm tra docker để xem chi tiết của hình ảnh này. Chúng ta có thể sử dụng lệnh sau để ghi đầu ra của lệnh kiểm tra docker 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 lệnh more , bạn sẽ thấy một mục nhập 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 truy cập / home / vị trí demo trên Máy chủ lưu trữ Docker 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 một 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 tham số –volume-driver khi sử dụng lệnh docker run . Một ví dụ được đưa ra dưới đây
sudo docker run –d --volume-driver=flocker
–v /home/demo:/var/jenkins_home –p 8080:8080 –p 50000:50000 jenkins
Các -volume-tài xế tùy chọn được sử dụng để xác định một tài xế lưu trữ cho container.
Để xác nhận rằng trình điều khiển đã được thay đổi, trước tiên hãy sử dụng lệnh docker ps để 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 đó, đưa ra một trình kiểm tra docker đối với vùng chứa và đưa đầu ra vào một tệp văn bản bằng cách sử dụ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 có nội dung VolumeDriver , bạn sẽ thấy rằng tên trình điều khiển đã được thay đổi.
Tạo một khối lượng
Một ổ đĩa có thể được tạo trước bằng cách sử dụng lệnh docker . 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 tập.
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 tôi đang tạo một khối lượng 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ả các khối lượng docker trên một máy chủ docker . 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 ổ đĩa trên máy chủ docker .
Thí dụ
sudo docker volume ls
Đầu ra
Đầu ra của lệnh trên được hiển thị bên dưới: