Lưu trữ dữ liệu liên tục trong vùng chứa cần lưu trữ đặc biệt. Có hai tùy chọn - khối lượng hoặc liên kết gắn kết
Nguồn. https. // hiện hóa. com/assets/posts/2019-06-23-change-docker-storage-location/change-docker-storage-location_thumbnail. jpeg
Theo mặc định, tất cả các tệp được tạo bên trong vùng chứa được lưu trữ trên lớp vùng chứa có thể ghi. Điều này có nghĩa rằng
Tải bộ dữ liệu lớn hoặc mô hình có thể mất nhiều thời gian hơn. Để nhập các mô hình và bộ dữ liệu tồn tại trên máy chủ của bạn nhanh hơn, bạn có thể gắn thư mục của mình với dữ liệu vào bộ chứa Docker bằng Workbench
Để gắn thư mục chứa dữ liệu vào bộ chứa Docker, hãy thêm tham số vào lệnh để chạy bộ chứa. Ví dụ: bạn có một tập dữ liệu lớn [hoặc một mô hình] trong đường dẫn.
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
0 và muốn nhập tập dữ liệu này vào Workbench. Làm theo các bước dưới đây- Dừng chạy bộ chứa Docker bằng lệnh sau
- Xóa vùng chứa hiện có
- Sao chép đường dẫn đến thư mục chứa dữ liệu của bạn. Ví dụ: nếu tập dữ liệu của bạn ở
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
0, bạn nên sao chép đường dẫndocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
2 - Chạy bộ chứa Docker để gắn thư mục với tập dữ liệu của bạn bằng lệnh sau
docker chạy -p 127. 0. 0. 1. 5665. 5665 \
-v /dev/bus/usb. /dev/bus/usb \
-v /localdisk/datasets/. /home/openvino/bàn làm việc/bộ dữ liệu \
-e PROXY_HOST_ADDRESS=0. 0. 0. 0 \
-e http_proxy=\
-e https_proxy=\
Lệnh này chạy bộ chứa Docker có tên
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
3 với các đối số sauArgumentExplanationdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
4Ánh xạ cổng bộ chứa Docker docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
5 tới cổng máy chủ docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
5 để có quyền truy cập vào DL Workbench từ trình duyệt web. docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
7Cho phép khả năng chứa đầy đủ. docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
8Gắn thư mục docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
9 vào bộ chứa Docker và cho phép bộ chứa sử dụng thiết bị GPU trong DL Workbench. Thư mục docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
00Mounts docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
01 vào bộ chứa Docker và cho phép bộ chứa sử dụng thiết bị GPU trong DL Workbench. docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
02Gắn thư mục cục bộ docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
2 đến docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
04 trong vùng chứa. docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
05và
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
06Tùy chọn. Nếu bạn đứng sau một proxy công ty, hãy đặt các biến môi trường. docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
07Bật các quy trình tương tác trong thiết bị đầu cuối DL Workbench. Đặt thành tên hình ảnh Docker docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
3. Sau khi lệnh thực thi, bạn có thể thêm tập dữ liệu hoặc mô hình cục bộ của mình. Để biết thêm thông tin, hãy xem Chọn mô hình và Chọn bộ dữ liệu
GHI CHÚ. Trong phần Select Model hoặc Select Dataset, chỉ định đường dẫn đến thư mục của bạn với. xml và. các tệp bin như sau.
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
09 hoặcdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
20Docker là một trong những công cụ phổ biến dành cho DevOps vì tính di động, bảo mật và hiệu suất của nó. Từ bài đăng này, bạn sẽ tìm hiểu một số khái niệm và lệnh cơ bản của Docker sẽ hướng dẫn bạn cách gắn thư mục bên trong bộ chứa Docker. Tôi sử dụng Docker hầu như mỗi ngày để phát triển cục bộ — ví dụ: bạn có thể xem cách tôi cập bến ứng dụng Ruby on Rails cho một dự án cá nhân, tại đây
Thành lập
Trước tiên, bạn sẽ cần cài đặt Docker. Đối với mục đích trình diễn, chúng tôi sẽ sử dụng hình ảnh chính thức được tạo sẵn của Ruby và macOS
- Hình ảnh Docker. Đó là một mẫu chứa các hướng dẫn để tạo vùng chứa
- Bộ chứa Docker. Vùng chứa là phiên bản đang chạy của một hình ảnh
Lệnh
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
0 được sử dụng để chạy vùng chứa từ một hình ảnh. Ở đây chúng tôi đang sử dụng hình ảnh ruby để tạo vùng chứa, nhưng bạn có thể sử dụng hình ảnh của riêng mình. Nếu hình ảnh ruby không tồn tại trên máy chủ, Docker sẽ lấy hình ảnh đó từ Docker Hub. Sau khi được tải xuống trên máy cục bộ của bạn, Docker sử dụng cùng một hình ảnh để tạo vùng chứa liên tiếp. Để gắn âm lượng, chỉ cần chạy dòng này trong thiết bị đầu cuối của bạndocker run -v /host/directory:/container/directory
Bây giờ bạn sẽ mount thư mục script bên trong thư mục script của vùng chứa. Đây là cách thực hành tốt nhất vì bạn không phải lo lắng về việc quản lý môi trường trên các máy khác nhau
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
Các cờ
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
1 [thường được viết làdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
2] được sử dụng để truy cập vùng chứa ở chế độ tương tác. Cờdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
3 [tùy chọn] xóa vùng chứa khi bạn thoát hoặc dừng nó để giải phóng tài nguyên hệ thống [CPU, bộ nhớ]. Nếu bạn không sử dụng nó sau khi dừng hoặc thoát khỏi vùng chứa, thì nó phải được xóa thủ công nếu bạn muốn giải phóng dung lượng ổ đĩa. Cờdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
4 được sử dụng để gắn thư mục máy chủ và nó bao gồm hai trường được phân tách bằng dấu hai chấm. Phần đầu tiên là đường dẫn trong máy chủ. Phần thứ hai là đường dẫn trong container-v /host/directory:/container/directory
Cờ ____05 [tùy chọn] được sử dụng để đặt tên cụ thể cho vùng chứa. Nếu bạn không muốn cung cấp, Docker sẽ chỉ định một tên ngẫu nhiên, vì vậy bạn có thể muốn chọn một tên cụ thể nếu muốn theo dõi các vùng chứa của mình dễ dàng hơn. Lệnh
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
6 được sử dụng để tải hình ảnh. Nếu bạn muốn sử dụng riêng phiên bảndocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
7 của Ruby, hãy sử dụng lệnhdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
8docker run -v /host/directory:/container/directory
2Cuối cùng nhưng không kém phần quan trọng, lệnh
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
9 được sử dụng để lấy bash shell bên trong vùng chứaChạy trên máy Mac
Để chạy mã Python, hãy sử dụng hình ảnh python
docker run -v /host/directory:/container/directory
4Dừng và xóa vùng chứa
Như tôi đã giải thích ở trên, nếu bạn muốn giải phóng tài nguyên hệ thống và dung lượng ổ đĩa, bạn cần dừng và xóa vùng chứa. Bạn có thể chạy lệnh
-v /host/directory:/container/directory
0 trên máy chủ để xem danh sách các vùng chứa đang chạy của mình. Để dừng một vùng chứa, hãy sử dụng lệnh-v /host/directory:/container/directory
1 với id vùng chứa hoặc tên vùng chứa. Bạn có thể sử dụng cờ-v /host/directory:/container/directory
2 để xem tất cả các vùng chứa đã dừng hoặc đã thoátdocker run -v /host/directory:/container/directory
8docker ps VS docker ps -a
Để xóa vùng chứa theo cách thủ công, hãy sử dụng một trong các lệnh sau
docker run -v /host/directory:/container/directory
9Xóa hình ảnh
Trong trường hợp bạn muốn gỡ bỏ image để giải phóng dung lượng ổ đĩa, ví dụ image Ruby vừa tạo thì dùng lệnh
-v /host/directory:/container/directory
3. Nhưng trước tiên, hãy cố gắng hiểu những gì đang diễn ra bên trong. Để làm được điều đó, chúng tôi sẽ sử dụng các lệnh-v /host/directory:/container/directory
4 và-v /host/directory:/container/directory
5 để hiển thị thông tin về việc sử dụng dung lượng ổ đĩa của daemon Docker. Lệnh-v /host/directory:/container/directory
4 liệt kê tất cả các hình ảnh bạn có trong máy của mìnhTrong trường hợp này, tôi có ba hình ảnh trên máy của mình Một vùng chứa đang hoạt động đang sử dụng một hình ảnh đang hoạt động
Lệnh
-v /host/directory:/container/directory
5 cho tôi biết rằng tôi chỉ có thể yêu cầu 65% dung lượng đĩa vì tôi vẫn đang chạy bộ chứa tập lệnh và bộ chứa đó đang sử dụng hình ảnh ruby. Nếu bạn thêm hai hình ảnh còn lại, bạn sẽ nhận được 65% dung lượng ổ đĩa có thể thu hồidocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
5Được rồi, bằng cách chạy lệnh
-v /host/directory:/container/directory
5 sau khi dừng vùng chứa cho chúng tôi biết rằng giờ đây chúng tôi có thể yêu cầu 100% dung lượng đĩaKhông có vùng chứa đang hoạt động và không có hình ảnh đang hoạt động
Hãy lưu ý nếu bạn cố xóa hình ảnh đang được vùng chứa sử dụng, bạn sẽ gặp phải lỗi sau
docker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
7Cuối cùng, chúng ta có thể sử dụng lệnh
-v /host/directory:/container/directory
3 với id hình ảnh để xóa hình ảnhdocker run -it --rm -v $HOME/Desktop/scripts:/scripts --name scripts ruby bash
9Gói [lại
Bây giờ bạn đã biết cách mount thư mục bên trong docker container. Docker giúp tôi rất nhiều để tạo môi trường phát triển cục bộ dễ dàng trên nhiều máy mà không tốn thêm công sức và thời gian. Đó là một kỹ năng bạn muốn giữ trong túi của mình cho cả mục đích cá nhân và công việc. Tôi hy vọng điều này sẽ giúp bạn bắt đầu với thế giới kỳ diệu của Docker
Chúng tôi có thể chạy nhiều quy trình trong bộ chứa Docker không?
Bạn có thể có nhiều quy trình , nhưng để tận dụng tối đa Docker, hãy tránh để một vùng chứa chịu trách nhiệm cho nhiều khía cạnh của ứng dụng tổng thể của bạn. Bạn có thể kết nối nhiều vùng chứa bằng mạng do người dùng xác định và khối lượng chia sẻ.Cú pháp để gắn một thư mục từ máy chủ Docker vào một thư mục trong vùng chứa là gì?
Cờ -v được sử dụng để gắn thư mục máy chủ và nó bao gồm hai trường được phân tách bằng dấu hai chấm. Phần đầu tiên là đường dẫn trong máy chủ. Phần thứ hai là đường dẫn trong container. Cờ --name [tùy chọn] được sử dụng để đặt tên cụ thể cho vùng chứaĐường dẫn gắn kết trong Docker là gì?
Nguồn gốc của thú cưỡi. Đối với gắn kết liên kết, đây là đường dẫn đến tệp hoặc thư mục trên máy chủ daemon Docker . Có thể được chỉ định làm nguồn hoặc src. Đích nhận giá trị của nó là đường dẫn nơi tệp hoặc thư mục sẽ được gắn vào vùng chứa. Có thể được chỉ định là đích, dst hoặc đích.Bộ chứa Docker có thể truy cập các tệp bên ngoài bộ chứa không?
Hóa ra là bạn không thể bao gồm các tệp bên ngoài ngữ cảnh bản dựng của Docker . Tuy nhiên, bạn có thể sao chép các tệp từ thư mục mẹ của Dockerfile.