Nếu bạn đang nghĩ đến việc chạy các ứng dụng web của mình trong các thùng chứa Docker hoặc bạn đã thích nghi với công nghệ hơn thì bạn nên quan tâm đến một trong những khía cạnh quan trọng nhất, đó là bao nhiêu tài nguyên lưu trữ mà bộ chứa của bạn đang sử dụng.


Theo mặc định, không có giới hạn về dung lượng bộ nhớ hoặc CPU mà bộ chứa có thể sử dụng. Nó có thể sử dụng nhiều như bộ lập lịch kernel kernel cho phép. Điều quan trọng là một container đang chạy không được phép tiêu thụ quá nhiều bộ nhớ của máy chủ hoặc CPU. Nếu hạt nhân phát hiện ra rằng có một lượng bộ nhớ trống còn lại rất thấp, nó sẽ ném một Hết bộ nhớ và bắt đầu giết các quá trình và điều này có thể dẫn đến việc đóng cửa toàn bộ hệ thống trong một số trường hợp.

Để tránh những trường hợp này, bạn phải luôn chạy thử nghiệm trên ứng dụng của mình và tìm ra lượng tài nguyên cần thiết và sau đó giới hạn các thùng chứa để sử dụng một lượng tài nguyên thích hợp.

Cấu hình Ubuntu 18.04 để sử dụng tính năng tài nguyên giới hạn Docker từ

Vậy hãy bắt đầu. Trước hết, bạn nên kiểm tra xem kernel của bạn có cho phép các tính năng này không. Đối với điều đó, bạn cần chạy lệnh sau.

$ sudo docker thông tin

Nếu bạn thấy cảnh báo sau ở cuối đầu ra, bạn sẽ phải thực hiện một số thay đổi trong tệp hệ thống.

CẢNH BÁO: Hỗ trợ Noswaplimits

Trong trường hợp này, hãy làm theo các bước dưới đây trên Ubuntu 18.04

  1. Đăng nhập vào máy chủ Ubuntu với tư cách là người dùng có quyền sudo.
  1. Chỉnh sửa / etc / default / grub tập tin và thêm dòng sau vào nó.

GRUB_CMDLINE_LINUX ="cgroup_enable = hoán đổi bộ nhớ = 1"

  1. Lưu và đóng tệp sau khi thêm dòng trên. Bạn cũng sẽ yêu cầu cập nhật GRUB bằng lệnh sau.

$ sudo update-grub

Thay đổi sẽ có hiệu lực khi hệ thống được khởi động lại. Xác nhận rằng các thay đổi đã có hiệu lực bằng cách chạy lại lệnh sau

$ sudo dockerinfo

Nếu bạn không thấy cảnh báo lần nữa, bạn thật tuyệt.

Bây giờ có hai loại tài nguyên chính mà chúng ta cần phải chăm sóc.

  1. Ký ức
  2. CPU

Hạn chế quyền truy cập bộ nhớ của Container

Trong khi bắt đầu một container với bến tàu chạy lệnh chúng ta có thể chỉ định các tùy chọn khác nhau. Sau đây là những ví dụ.

Để hạn chế việc sử dụng bộ nhớ của người sử dụng –ký ức Lựa chọn. Nó nhận một số nguyên dương theo sau là hậu tố s b, k, m, g. Với lệnh sau, bộ chứa Ubuntu chạy với giới hạn sử dụng không quá 1 gigabyte bộ nhớ.

$ sudo docker run -it –memory = ‘1g’ ubfox / bin / bash

Để hạn chế việc sử dụng trao đổi bộ nhớ của người chứa sang sử dụng đĩa –hoán đổi bộ nhớ Lựa chọn. Nó cũng có một số nguyên dương theo sau là hậu tố s b, k, m, g. Trong trường hợp sau đây, container được phép sử dụng

1 gigabyte bộ nhớ không trao đổi và 1 gigabyte bộ nhớ trao đổi. Tổng dung lượng bộ nhớ trao đổi được phép cho một container là sự khác biệt của –memory-exchange và –memory (2g – 1g). Nếu bạn không muốn bộ chứa của mình sử dụng bộ nhớ trao đổi, hãy đặt cả –memory và –memory-exchange thành các giá trị bằng nhau.

$ sudo docker run -it –memory =

Trong trường hợp docker phát hiện bộ nhớ thấp trên máy chủ và bạn đã đặt –đặt trước bộ nhớ, giá trị của nó sẽ được ưu tiên hơn –ký ức. Nhưng nếu bạn chưa đặt –ký ức hơn là nó không giới hạn việc sử dụng bộ nhớ trong container. Nó chỉ có hiệu lực khi bộ nhớ thấp được phát hiện. Nó là một loại giới hạn mềm.

$ sudo docker run -it –memory = ‘1g’ – memory-reserved =, 512miêu ub Ubuntu / bin / bash

Hạn chế sử dụng CPU của Container

Để giới hạn thời gian sử dụng CPU Container container –cpus Lựa chọn. Đặt nó bằng với .5. Có nghĩa là 50000 micro giây thời gian CPU.

$ sudo docker chạy -it –cpus =".5" ubfox / bin / bash

Để hạn chế sử dụng cổ phiếu CPU Container container –cổ phiếu Lựa chọn. Theo mặc định, nó là 1024. Tăng hoặc giảm nó để cho phép một container sử dụng phần lớn hơn hoặc ít hơn các chu kỳ CPU của máy chủ. Điều này rất hữu ích khi các chu kỳ CPU bị máy chủ ràng buộc, nếu không, các container có thể sử dụng bao nhiêu chu kỳ CPU mà chúng cần. Đây cũng là một loại giới hạn mềm.

$ sudo docker chạy -it –cpus-Shares ="512" ubfox / bin / bash

Phần kết luận

Việc giới hạn tài nguyên của bộ chứa phụ thuộc rất nhiều vào cấu hình kernel của máy chủ. Mặc dù điều rất quan trọng là phải biết các yêu cầu của bộ chứa của bạn và giới hạn chúng theo cách phù hợp, bạn cũng nên làm quen với môi trường máy chủ mà trong trường hợp này là ubfox 18.04. Luôn thực hiện nhiều thử nghiệm trên ứng dụng của bạn để có được ý tưởng tốt về các yêu cầu tài nguyên. Sử dụng tài nguyên cẩn thận có thể tiết kiệm rất nhiều chi phí.

Bạn có thể xem số liệu thống kê cho các container của bạn trong trạng thái đang chạy bằng cách thực thi số liệu thống kê docker lệnh bằng cách chỉ định tên hoặc tên của container và xác minh các giới hạn và cấu hình bạn áp đặt.

$ sudo docker thống kê ubfox

Kiểm tra 3 dịch vụ lưu trữ web tốt nhất này

FastComet

Giá khởi điểm:
$ 2,95


độ tin cậy
9,7


Giá cả
9,5


Thân thiện với người dùng
9,7


Ủng hộ
9,7


Đặc trưng
9,6

Đọc đánh giá

Ghé thăm FastComet

Lưu trữ A2

Giá khởi điểm:
$ 3,92


độ tin cậy
9,3


Giá cả
9.0


Thân thiện với người dùng
9,3


Ủng hộ
9,3


Đặc trưng
9,3

Đọc đánh giá

Ghé thăm Hosting A2

ChemiCloud

Giá khởi điểm:
$ 2,76


độ tin cậy
10


Giá cả
9,9


Thân thiện với người dùng
9,9


Ủng hộ
10


Đặc trưng
9,9

Đọc đánh giá

Truy cập ChemiCloud

Bài viết hướng dẫn liên quan

  • Cách sử dụng Docker Container với AWS EC2
    chuyên gia
  • Cách triển khai Container Docker với OpenStack Heat
    chuyên gia
  • Cách thiết lập một cụm Docker Swarm trên Ubuntu 16.04 VPS hoặc Máy chủ chuyên dụng
    chuyên gia
  • Cách sử dụng Docker Container với AWS EC2
    chuyên gia
  • Cách sử dụng Docker Container với AWS EC2
    chuyên gia
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me