Bạn muốn cải thiện bảng gian lận này? Xem phần đóng góp! Điều kiện tiên quyết Cài đặt Hộp đựng Cài đặt Hình ảnh Đăng ký và kho lưu trữ Lớp Liên kết Phơi bày các cổng Hình ảnh Mạng Đăng ký và kho lưu trữ DockerfileLớp
Tập Phơi bày các cổng Thực hành tốt nhất DockerfileLớp Liên kết # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world Tập Phơi bày các cổng Thực hành tốt nhất Bảo vệLời khuyên Đóng góp "Với Docker, các nhà phát triển có thể xây dựng bất kỳ ứng dụng nào bằng bất kỳ ngôn ngữ nào bằng bất kỳ công cụ nào. Mũ đỏ. # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world Các nhà phát triển có thể đi nhanh bằng cách bắt đầu với một trong hơn 13.000 ứng dụng có sẵn trên Docker Hub. Docker quản lý và theo dõi các thay đổi và phụ thuộc, giúp Sysadmins dễ dàng hiểu được cách các ứng dụng mà các nhà phát triển xây dựng hoạt động. Và với Docker Hub, các nhà phát triển có thể tự động hóa đường ống xây dựng của họ và chia sẻ các tạo tác với các cộng tác viên thông qua các kho lưu trữ công cộng hoặc tư nhân. Docker giúp các nhà phát triển xây dựng và vận chuyển các ứng dụng chất lượng cao hơn, nhanh hơn. "-Docker là gì Tôi sử dụng oh zsh của tôi với plugin docker để tự động hoàn thành các lệnh docker. Ymmv.Linux
Nhận phiên bản máy chủ: $ docker version --format '{{.Server.Version}}' 1.8.0 Bạn cũng có thể đổ dữ liệu JSON thô: $ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"} Hộp đựngQuá trình docker bị cô lập cơ bản của bạn. Container là máy ảo như các chủ đề là các quy trình. Hoặc bạn có thể nghĩ về chúng như là chroots trên steroid. Vòng đời
Thông thường nếu bạn chạy một thùng chứa mà không có tùy chọn, nó sẽ bắt đầu và dừng ngay lập tức, nếu bạn muốn giữ nó chạy, bạn có thể sử dụng lệnh, docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-test7 Điều này sẽ sử dụng tùy chọn docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-test8 sẽ phân bổ phiên giả và docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-test9 sẽ tự động tách ra container (Chạy container trong nền và ID container in). Nếu bạn muốn một thùng chứa thoáng qua, docker run -it -m 300M ubuntu:14.04 /bin/bash0 sẽ tháo container sau khi nó dừng lại. Nếu bạn muốn ánh xạ một thư mục trên máy chủ đến thùng chứa Docker, docker run -it -m 300M ubuntu:14.04 /bin/bash1. Cũng xem khối lượng. Nếu bạn cũng muốn loại bỏ các khối lượng liên quan đến thùng chứa, việc xóa thùng chứa phải bao gồm công tắc docker run -it -m 300M ubuntu:14.04 /bin/bash2 như trong docker run -it -m 300M ubuntu:14.04 /bin/bash3. Ngoài ra còn có một trình điều khiển ghi nhật ký có sẵn cho các thùng chứa riêng lẻ trong Docker 1.10. Để chạy Docker với trình điều khiển nhật ký tùy chỉnh (tức là, đến syslog), hãy sử dụng docker run -it -m 300M ubuntu:14.04 /bin/bash4. Một tùy chọn hữu ích khác là docker run -it -m 300M ubuntu:14.04 /bin/bash5 bởi vì khi bạn chỉ định docker run -it -m 300M ubuntu:14.04 /bin/bash6 bên trong lệnh chạy, điều này sẽ cho phép bạn bắt đầu và dừng một thùng chứa bằng cách gọi nó với tên bạn đã chỉ định khi bạn tạo nó. Bắt đầu và dừng lại
Nếu bạn muốn tách ra khỏi một thùng chứa đang chạy, hãy sử dụng docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs5. Nếu bạn muốn tích hợp một thùng chứa với Trình quản lý quy trình máy chủ, hãy khởi động trình nền bằng docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs6 sau đó sử dụng docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs7. Nếu bạn muốn hiển thị các cổng container thông qua máy chủ, hãy xem phần Cổng lộ. Khởi động lại các chính sách trên các trường hợp docker bị gặp nạn được đề cập ở đây. Ràng buộc CPUBạn có thể giới hạn CPU, sử dụng tỷ lệ phần trăm của tất cả các CPU hoặc bằng cách sử dụng các lõi cụ thể. Ví dụ: bạn có thể nói cài đặt docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs8. Cài đặt hơi lạ - 1024 có nghĩa là 100% CPU, vì vậy nếu bạn muốn container lấy 50% của tất cả các lõi CPU, bạn nên chỉ định 512. Xem https://goldmann.pl/blog/2014/09 /11/Tài nguyên-Quản lý-Trong-Docker/#_ CPU để biết thêm: docker run -it -c 512 agileek/cpuset-test Bạn cũng chỉ có thể sử dụng một số lõi CPU bằng cách sử dụng docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs9. Xem https://agileek.github.io/docker/2014/08/06/docker-cpuset/ để biết chi tiết và một số video hay: docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-test Lưu ý rằng Docker vẫn có thể nhìn thấy tất cả các CPU bên trong container - nó không sử dụng tất cả chúng. Xem Moby/Moby#20770 để biết thêm chi tiết.see all of the CPUs inside the container -- it just isn't using all of them. See moby/moby#20770 for more details. Ràng buộc bộ nhớBạn cũng có thể đặt các ràng buộc bộ nhớ trên Docker: docker run -it -m 300M ubuntu:14.04 /bin/bash Khả năngKhả năng Linux có thể được đặt bằng cách sử dụng docker run -it --device=/dev/ttyUSB0 debian bash0 và docker run -it --device=/dev/ttyUSB0 debian bash1. Xem https://docs.docker.com/engine/reference/run/#/runtime-privilege-and-linux-capability để biết chi tiết. Điều này nên được sử dụng để bảo mật lớn hơn. Để gắn một hệ thống tập tin dựa trên cầu chì, bạn cần kết hợp cả-cap-add và-device: docker run --rm -it --cap-add SYS_ADMIN --device /dev/fuse sshfs Cung cấp quyền truy cập vào một thiết bị duy nhất: docker run -it --device=/dev/ttyUSB0 debian bash Cung cấp quyền truy cập vào tất cả các thiết bị: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world0 Thông tin thêm về các thùng chứa đặc quyền ở đây. Thông tin
# Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world02 hiển thị các thùng chứa đang chạy và dừng. # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world03 hiển thị danh sách tất cả các container, mặc định hiển thị chỉ đang chạy. Nhập khẩu xuất khẩu
Thực thi các lệnh
Để nhập một thùng chứa đang chạy, hãy gắn một quy trình shell mới vào một thùng chứa có tên là FOO, sử dụng: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world07. Hình ảnhHình ảnh chỉ là mẫu cho các thùng chứa Docker. Vòng đời
Thông tin
Dọn dẹpMặc dù bạn có thể sử dụng lệnh # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world12 để xóa hình ảnh cụ thể, có một công cụ gọi là Docker-GC sẽ làm sạch hình ảnh một cách an toàn không còn được sử dụng bởi bất kỳ container nào. Kể từ Docker 1.13, # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world18 cũng có sẵn để xóa hình ảnh không sử dụng. Xem Prune. Tải/lưu hình ảnhTải một hình ảnh từ tệp: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world1 Lưu một hình ảnh hiện có: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world2 Hộp đựng nhập khẩu/xuấtNhập một thùng chứa dưới dạng hình ảnh từ tệp: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world3 Xuất một thùng chứa hiện có: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world4 Sự khác biệt giữa tải một hình ảnh đã lưu và nhập một thùng chứa được xuất dưới dạng hình ảnhTải một hình ảnh bằng lệnh # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world19 tạo ra một hình ảnh mới bao gồm cả lịch sử của nó. Nhập một thùng chứa làm hình ảnh bằng lệnh # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world20 tạo ra một hình ảnh mới, ngoại trừ lịch sử dẫn đến kích thước hình ảnh nhỏ hơn so với tải hình ảnh. Importing a container as an image using the # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world20 command creates a new image excluding the history which results in a smaller image size compared to loading an image. MạngDocker có một tính năng mạng. Docker tự động tạo 3 giao diện mạng khi bạn cài đặt nó (cầu, lưu trữ không). Một container mới được đưa vào mạng cầu theo mặc định. Để cho phép giao tiếp giữa nhiều container, bạn có thể tạo một mạng mới và khởi chạy các container trong đó. Điều này cho phép các container giao tiếp với nhau trong khi bị cô lập với các container không được kết nối với mạng. Hơn nữa, nó cho phép ánh xạ tên container vào địa chỉ IP của họ. Xem làm việc với các mạng để biết thêm chi tiết. Vòng đời
Thông tin
Dọn dẹp
Tải một hình ảnh từ tệp: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world5 Lưu một hình ảnh hiện có:Hộp đựng nhập khẩu/xuất Nhập một thùng chứa dưới dạng hình ảnh từ tệp: Xuất một thùng chứa hiện có:
# Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world22 Tên Xóa một hoặc nhiều mạng theo tên hoặc định danh. Không có thùng chứa nào có thể được kết nối với mạng khi xóa nó.# Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world23 Mạng danh sách # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world24 Tên hiển thị thông tin chi tiết trên một hoặc nhiều mạng. Sự liên quan# Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world25 Container mạng kết nối một container với mạng # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world26 Network Container Ngắt kết nối một container khỏi mạng
# Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world30 kéo một hình ảnh từ đăng ký đến máy địa phương.
Hướng dẫn
Ví dụ
LớpHệ thống tập tin được phiên bản trong Docker dựa trên các lớp. Chúng giống như Git cam kết hoặc thay đổi cho các hệ thống tập tin. Liên kếtLiên kết là cách các container Docker nói chuyện với nhau thông qua các cổng TCP/IP. Atlassian Show làm việc ví dụ. Bạn cũng có thể giải quyết các liên kết bằng tên máy chủ. Điều này đã bị phản đối ở một mức độ nào đó bởi các mạng do người dùng xác định. Lưu ý: Nếu bạn muốn các container chỉ giao tiếp với nhau thông qua các liên kết, hãy bắt đầu DOKKER DAEMON với # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world38 để vô hiệu hóa giao tiếp trong quá trình. Nếu bạn có một thùng chứa có thùng chứa tên (được chỉ định bởi # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world39) và trong Dockerfile, nó có một cổng lộ ra: Sau đó, nếu chúng ta tạo một thùng chứa khác được gọi là liên kết như vậy: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world6 Sau đó, các cổng và bí danh tiếp xúc của container sẽ hiển thị theo liên kết với các biến môi trường sau: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world7 Và bạn có thể kết nối với nó theo cách đó. Để xóa các liên kết, sử dụng # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world40. Nói chung, liên kết giữa các dịch vụ Docker là một tập hợp con của "Khám phá dịch vụ", một vấn đề lớn nếu bạn dự định sử dụng Docker ở quy mô trong sản xuất. Vui lòng đọc hệ sinh thái Docker: Discovery Discovery và các cửa hàng cấu hình phân tán để biết thêm thông tin. TậpKhối lượng Docker là hệ thống tập tin nổi tự do. Chúng không phải được kết nối với một container cụ thể. Bạn có thể sử dụng khối lượng được gắn từ các thùng chứa chỉ dành cho dữ liệu để di động. Kể từ Docker 1.9.0, Docker đã đặt tên cho các tập thay thế các thùng chứa chỉ có dữ liệu. Cân nhắc sử dụng các khối được đặt tên để thực hiện nó thay vì các thùng chứa dữ liệu. Vòng đời
Thông tin
Khối lượng rất hữu ích trong các tình huống mà bạn không thể sử dụng các liên kết (chỉ là TCP/IP). Chẳng hạn, nếu bạn cần có hai trường hợp Docker giao tiếp bằng cách để lại nội dung trên hệ thống tập tin. Bạn có thể gắn chúng vào một số container Docker cùng một lúc, sử dụng # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world45. Bởi vì khối lượng là hệ thống tập tin bị cô lập, chúng thường được sử dụng để lưu trữ trạng thái từ các tính toán giữa các thùng chứa thoáng qua. Đó là, bạn có thể có một container không trạng thái và thoáng qua chạy từ một công thức, thổi nó đi, và sau đó có một phiên bản thứ hai của hộp chứa thoáng qua từ nơi cái cuối cùng rời đi. Xem khối lượng nâng cao để biết thêm chi tiết. Container42 cũng hữu ích. Bạn có thể ánh xạ các thư mục máy chủ MacOS dưới dạng tập docker: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world8 Bạn có thể sử dụng khối lượng NFS từ xa nếu bạn cảm thấy dũng cảm. Bạn cũng có thể xem xét chạy các container chỉ chạy dữ liệu như được mô tả ở đây để cung cấp một số tính di động dữ liệu. Xin lưu ý rằng bạn có thể gắn các tập tin dưới dạng khối lượng. Phơi bày các cổngViệc hiển thị các cổng đến thông qua thùng chứa máy chủ là khó khăn nhưng có thể thực hiện được. Điều này được thực hiện bằng cách ánh xạ cổng container vào cổng máy chủ (chỉ sử dụng giao diện localhost) bằng cách sử dụng # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world46: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world9 Bạn có thể nói với Docker rằng bộ chứa lắng nghe trên các cổng mạng được chỉ định khi chạy bằng cách sử dụng phơi bày: Lưu ý rằng # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world47 không để lộ chính cổng - chỉ # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world46 sẽ làm điều đó. Để lộ cổng của container trên cổng localhost của bạn, chạy: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world0 Nếu bạn đang chạy Docker trong VirtualBox, thì bạn cũng cần chuyển tiếp cổng ở đó, sử dụng Forwarded_port. Xác định một loạt các cổng trong Vagrantfile của bạn như thế này để bạn có thể tự động ánh xạ chúng: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world1 Nếu bạn quên những gì bạn đã ánh xạ cổng vào thùng chứa máy chủ, hãy sử dụng docker run -it --device=/dev/ttyUSB0 debian bash8 để hiển thị nó: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world2 Thực hành tốt nhấtĐây là nơi các thực tiễn tốt nhất và câu chuyện chiến tranh của Docker nói chung:
Docker-ComposeCompose là một công cụ để xác định và chạy các ứng dụng Docker đa phụ thuộc. Với Compose, bạn sử dụng tệp YAML để định cấu hình các dịch vụ ứng dụng của bạn. Sau đó, với một lệnh duy nhất, bạn tạo và khởi động tất cả các dịch vụ từ cấu hình của mình. Để tìm hiểu thêm về tất cả các tính năng của Compose, hãy xem danh sách các tính năng. Bằng cách sử dụng lệnh sau, bạn có thể khởi động ứng dụng của mình: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world3 Bạn cũng có thể chạy docker -compose ở chế độ tách ra bằng cờ -D, sau đó bạn có thể dừng nó bất cứ khi nào cần bằng lệnh sau: Bạn có thể giảm mọi thứ xuống, loại bỏ các container hoàn toàn, với lệnh Down. Vượt qua # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world50 để loại bỏ khối lượng dữ liệu. Bảo vệĐây là nơi các mẹo bảo mật về Docker đi. Trang bảo mật Docker đi vào chi tiết hơn. Điều đầu tiên đầu tiên: Docker chạy như root. Nếu bạn ở trong nhóm # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world51, bạn thực sự có quyền truy cập gốc. Nếu bạn để lộ ổ cắm Docker Unix vào một thùng chứa, bạn sẽ cung cấp quyền truy cập root container vào máy chủ. Docker không nên là phòng thủ duy nhất của bạn. Bạn nên bảo đảm và làm cứng nó. Để hiểu được những gì các container để lại phơi bày, bạn nên đọc sự hiểu biết và làm cứng các thùng chứa Linux của Aaron Grattafiori. Đây là một hướng dẫn đầy đủ và toàn diện về các vấn đề liên quan đến các container, với rất nhiều liên kết và chú thích dẫn đến nội dung hữu ích hơn. Các mẹo bảo mật sau đây rất hữu ích nếu bạn đã làm cứng các container trong quá khứ, nhưng không phải là sự thay thế cho sự hiểu biết. Mẹo bảo mậtĐể bảo mật lớn nhất, bạn muốn chạy Docker trong một máy ảo. Điều này là trực tiếp từ Trưởng nhóm bảo mật Docker - slide / ghi chú. Sau đó, chạy với apparmor / seccomp / selinux / grsec, vv để giới hạn các quyền container. Xem các tính năng bảo mật Docker 1.10 để biết thêm chi tiết. ID hình ảnh Docker là thông tin nhạy cảm và không nên tiếp xúc với thế giới bên ngoài. Đối xử với chúng như mật khẩu. Xem tờ Cheat Cheat của Docker của Thomas Sjögren: Một số thứ tốt về việc làm cứng container trong đó. Kiểm tra tập lệnh bảo mật băng ghế dự bị, tải xuống các giấy tờ trắng. 10 Docker hình ảnh của SNYK Bạn nên bắt đầu bằng cách sử dụng kernel với các bản vá không ổn định cho GRSECurity / PAX được biên dịch, chẳng hạn như Linux Alpine. Nếu bạn đang sử dụng GRSECurity trong sản xuất, bạn nên hỗ trợ thương mại cho các bản vá ổn định, giống như bạn sẽ làm cho Redhat. Đó là 200 đô la một tháng, không có gì đối với ngân sách DevOps của bạn. Vì Docker 1.11, bạn có thể dễ dàng giới hạn số lượng quy trình hoạt động chạy bên trong một thùng chứa để ngăn chặn bom ngã ba. Điều này yêu cầu một hạt nhân Linux> = 4.3 với cgroup_pids = y trong cấu hình kernel. # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world4 Cũng có sẵn vì Docker 1.11 là khả năng ngăn chặn các quy trình đạt được các đặc quyền mới. Tính năng này đã nằm trong nhân Linux kể từ phiên bản 3.5. Bạn có thể đọc thêm về nó trong bài viết trên blog này. # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world5 Từ tờ Cheat Cheat của Docker (trong PDF, khiến cho nó khó sử dụng, vì vậy hãy sao chép bên dưới) bằng các giải pháp container: Tắt giao tiếp giữa các chuyên gia với: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world6 Đặt thùng chứa để chỉ đọc: Xác minh hình ảnh bằng Hashsum: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world7 Đặt khối lượng chỉ được đọc: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world8 Xác định và chạy người dùng trong Dockerfile của bạn để bạn không chạy làm root bên trong container: # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world9 Không gian tên người dùngCũng có công việc trên các không gian tên người dùng - nó nằm trong 1.10 nhưng không được bật theo mặc định. Để kích hoạt các không gian tên người dùng ("Remap các người dùng") trong Ubuntu 15.10, hãy làm theo ví dụ về blog. Video bảo mật
Lộ trình an ninhLộ trình Docker nói về sự hỗ trợ của SECCOMP. Có một trình tạo chính sách Apparmor có tên Bane và họ đang làm việc trên các hồ sơ bảo mật. Lời khuyênSources:
Cắt tỉaCác lệnh quản lý dữ liệu mới đã hạ cánh như Docker 1.13:
DF# Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world57 trình bày một bản tóm tắt về không gian hiện đang được sử dụng bởi các đối tượng Docker khác nhau. Heredoc Docker container$ docker version --format '{{.Server.Version}}' 1.8.00 ID cuối cùng$ docker version --format '{{.Server.Version}}' 1.8.01 Cam kết với lệnh (nhu cầu Dockerfile)$ docker version --format '{{.Server.Version}}' 1.8.02 Nhận địa chỉ IP$ docker version --format '{{.Server.Version}}' 1.8.03 Hoặc với JQ được cài đặt: $ docker version --format '{{.Server.Version}}' 1.8.04 Hoặc sử dụng mẫu GO: $ docker version --format '{{.Server.Version}}' 1.8.05 Hoặc khi xây dựng một hình ảnh từ Dockerfile, khi bạn muốn vượt qua trong một đối số xây dựng: $ docker version --format '{{.Server.Version}}' 1.8.06 Nhận bản đồ cổng$ docker version --format '{{.Server.Version}}' 1.8.07 Tìm các thùng chứa bằng cách biểu hiện thông thường$ docker version --format '{{.Server.Version}}' 1.8.08 Nhận cài đặt môi trường$ docker version --format '{{.Server.Version}}' 1.8.09 Giết container đang chạy$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}0 Xóa tất cả các container (lực !! Chạy hoặc dừng container)$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}1 Xóa các thùng chứa cũ$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}2 Xóa các thùng chứa dừng$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}3 Xóa container sau khi dừng$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}4 Xóa hình ảnh lơ lửng$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}5 Xóa tất cả các hình ảnh$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}6 Xóa khối lượng treo lủng lẳngKể từ Docker 1.9:
$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}7 Trong 1.9.0, bộ lọc # Display the version of docker installed: docker version # Pull, create, and run 'hello-world': docker run hello-world58 không hoạt động - nó bị bỏ qua và sẽ liệt kê tất cả các tập. Hiển thị phụ thuộc hình ảnh$ docker version --format '{{json .}}' {"Client":{"Version":"1.8.0","ApiVersion":"1.20","GitCommit":"f5bae0a","GoVersion":"go1.4.2","Os":"linux","Arch":"am"}8 Giảm béo container Docker
Giám sát việc sử dụng tài nguyên hệ thống để chạy các thùng chứaĐể kiểm tra việc sử dụng CPU, bộ nhớ và mạng I/O của một thùng chứa, bạn có thể sử dụng: Đối với tất cả các thùng chứa được liệt kê bởi ID: docker run -it -c 512 agileek/cpuset-test2 Đối với tất cả các container được liệt kê theo tên: docker run -it -c 512 agileek/cpuset-test3 Đối với tất cả các thùng chứa được liệt kê bởi hình ảnh: docker run -it -c 512 agileek/cpuset-test4 Xóa tất cả các hình ảnh không được gắn thẻ: docker run -it -c 512 agileek/cpuset-test5 Loại bỏ container bằng một biểu thức chính quy: docker run -it -c 512 agileek/cpuset-test6 Xóa tất cả các thùng chứa đã thoát: docker run -it -c 512 agileek/cpuset-test7 Tập có thể là tệpXin lưu ý rằng bạn có thể gắn các tập tin dưới dạng khối lượng. Ví dụ: bạn có thể tiêm một tệp cấu hình như thế này: docker run -it -c 512 agileek/cpuset-test8 Đóng gópĐây là cách đóng góp cho bảng gian lận này. Mở readme.mdNhấp vào readme.md Chỉnh sửa trangThay đổi và cam kết |