Làm thế nào để trình docker chạy trên máy chủ Debian có thể là một OpenSUSE trong một thùng chứa? Nó sử dụng hạt nhân khác nhau, với các mô-đun riêng biệt. Các phiên bản Debian cũ hơn đã sử dụng các hạt nhân cũ hơn, vậy làm thế nào để chạy nó trên phiên bản hạt nhân 3.10+? Những hạt nhân cũ hơn chỉ có các chức năng được xây dựng cũ hơn, làm cách nào một bản phân phối cũ có thể quản lý các tính năng mới? "Bí quyết" trong đó là gì?Docker có thể chạy distro với các hạt nhân khác nhau như thế nào?
Trả lời
Làm thế nào có thể Docker chạy trên một máy chủ Debian có lẽ một OpenSUSE trong một container
Vì hạt nhân là như nhau và sẽ hỗ trợ động cơ Docker để chạy tất cả những hình ảnh container: kernel máy chủ nên 3,10 trở lên, nhưng list of system calls của nó là khá ổn định.
Xem "Architecting Containers: Why Understanding User Space vs. Kernel Space Matters":
- Ứng dụng chứa logic kinh doanh, nhưng dựa trên các cuộc gọi hệ thống.
- Khi ứng dụng được biên soạn, tập hợp các cuộc gọi hệ thống mà ứng dụng sử dụng (tức là dựa vào) được nhúng vào nhị phân (ở các ngôn ngữ cấp cao hơn, đây là thông dịch viên hoặc JVM).
- Vùng chứa không trừu tượng sự cần thiết cho không gian người dùng và không gian hạt nhân để chia sẻ một tập hợp các cuộc gọi hệ thống phổ biến.
- Trong một thế giới được chứa, không gian người dùng này được nhóm lại và chuyển đến các máy chủ khác nhau, từ máy tính xách tay đến máy chủ sản xuất.
- Trong những năm tới, điều này sẽ tạo ra những thách thức.
Có những lúc cuộc gọi hệ thống mới được thêm vào, và các cuộc gọi hệ thống cũ đang bị phản đối; điều này cần được cân nhắc khi suy nghĩ về vòng đời của cơ sở hạ tầng vùng chứa của bạn và các ứng dụng sẽ chạy bên trong nó.
Xem thêm "Why kernel version doesn't match Ubuntu version in a Docker container?":
Không có hạt nhân bên trong một container. Ngay cả khi bạn cài đặt hạt nhân, nó sẽ không được tải khi vùng chứa bắt đầu. Mục đích của một container là cô lập các tiến trình mà không cần phải chạy một hạt nhân mới.
- 1. distro cho phát triển hạt nhân linux
- 2. Hạt nhân CUDA được khởi chạy như thế nào?
- 3. Docker cho Windows chạy bộ chứa Linux như thế nào?
- 4. Định thời các phần khác nhau trong hạt nhân CUDA
- 5. Có thể chạy docker không?
- 6. Mã C có thể chạy trên các bộ vi xử lý khác nhau như thế nào?
- 7. Gọi hạt nhân OpenCL từ một hạt nhân OpenCL khác
- 8. Docker Swarm khác với Kubernetes như thế nào?
- 9. jupyter máy tính xách tay chạy hạt nhân trong env khác nhau
- 10. làm thế nào để chương trình giao tiếp - hạt nhân vi hạt nhân nguyên khối hạt nhân exo
- 11. Sự khác nhau giữa các tiến trình đang chạy ở chế độ hạt nhân và chạy dưới dạng root?
- 12. Làm thế nào để chạy Redis trên docker với một tập tin cấu hình khác nhau?
- 13. Có thể chạy kubernetes như một thùng chứa docker không?
- 14. Có thể biên dịch hạt nhân Linux bằng một cái gì đó khác với gcc
- 15. có bao nhiêu hạt nhân chạy song song trong Mathematica?
- 16. Hạt giống ngẫu nhiên khác nhau cần phải như thế nào?
- 17. Tạo hạt nhân với AOSP
- 18. Điều gì có nghĩa là chia sẻ hạt nhân trong Docker?
- 19. Libsvm precomputed hạt nhân
- 20. Tôi có thể cung cấp các cấu hình cơ sở dữ liệu khác nhau như thế nào với Spring Boot?
- 21. Làm thế nào đến một hạt nhân 32 bit có thể chạy một nhị phân 64 bit?
- 22. Đánh dấu mô-đun hạt nhân có thể nạp được như trong cây
- 23. Sự khác biệt về bản vá giữa hạt nhân Android và hạt nhân vanilla linux
- 24. Cách chạy GPGPU bên trong hình ảnh docker khác với phiên bản trình điều khiển hạt nhân và trình điều khiển GPU
- 25. Thực hiện hạt nhân đồng thời CUDA với nhiều hạt nhân trên mỗi luồng
- 26. Có thể chạy docker từ bên trong docker không?
- 27. Khả năng tương thích của hạt nhân Linux (* .ko) giữa các hạt nhân
- 28. Symfony2 nhiều hạt nhân?
- 29. OpenCL - có thể gọi hàm khác từ bên trong hạt nhân không?
- 30. Các điều kiện này khác nhau như thế nào?
Tôi nghĩ rằng ở trên không trả lời đầy đủ câu hỏi. Trong khi tôi hoàn toàn đồng ý rằng các liên kết tham chiếu cung cấp giải thích lý do tại sao các thùng chứa không sinh ra hạt nhân riêng của chúng ta, chúng ta có thể thực sự muốn sinh ra một thùng chứa có thể dựa vào một phiên bản hạt nhân cụ thể. Tôi nghĩ rằng docker ngay cả khi chạy trên một máy chủ Linux có thể có một chế độ mà bạn có thể chọn phiên bản hạt nhân. – user725408