2015-06-10 44 views
5

Tôi mới sử dụng Docker và tôi đã nghi ngờ sử dụng một cơ sở hình ảnh cho ngăn xếp của mình hoặc tôi phải xác định từng hình ảnh tùy thuộc vào nhu cầu của mình.
Ví dụ, đọc một blog về việc tạo ra một trang web sử dụng Docker tác giả gợi ý Stack sau: enter image description hereTrình cắm: Cách tạo ngăn xếp, nhiều hình ảnh hoặc một hình ảnh cơ sở?

Hình ảnh lấy từ http://project-webdev.blogspot.de/2015/05/create-site-based-on-docker-part4-docker-container-architecture.html
Bây giờ, nhìn thấy cấu trúc, Nếu chúng ta có hình ảnh cơ sở trong registry Docker cho các công nghệ như mongoDB, io.JS, nginx, Tại sao trong ví dụ này, chúng tôi không sử dụng những hình ảnh đó được tạo ra bằng cách sử dụng một hình nền cơ sở Docker cho tất cả mọi thứ?

Trả lời

1

tôi cho rằng nó phụ thuộc vào ứng dụng nhưng trong trường hợp này bạn đúng, không có ý nghĩa gì để có hình ảnh cơ sở lớn.

Từ hiểu biết của tôi, tác giả đã tạo hình ảnh cơ sở và sau đó xây dựng rất nhiều hình ảnh khác từ hình ảnh cơ sở đó. Khi bạn xây dựng một hình ảnh cho docker, có rất nhiều hình ảnh trung gian được tạo nên nếu hình ảnh cơ sở giống nhau, nó có thể được chia sẻ và có khả năng tiết kiệm bộ nhớ trên máy của bạn.

nhưng tôi không nghĩ rằng nó tạo ra bất kỳ sự khác biệt nào khi bạn chạy các vùng chứa. mỗi thùng chứa độc lập và về cơ bản chúng chỉ chia sẻ hạt nhân Linux. và nó thực sự thực sự tồi tệ vì hình ảnh cơ sở là rất lớn trong trường hợp này và phải mất rất nhiều tài nguyên để sinh ra một container từ một hình ảnh như thế này. các hình ảnh chuyên dụng cho mỗi dịch vụ nhỏ hơn nhiều và mất ít tài nguyên hơn nhiều khi bạn bắt đầu các thùng chứa từ chúng. Vì vậy, yea, bất cứ điều gì bộ nhớ bạn có thể tiết kiệm từ xây dựng một hình ảnh cơ sở lớn sẽ không có giá trị nó.

5

Tôi là tác giả của bài đăng/chuỗi blog này, vì vậy hãy để tôi giải thích lý do tại sao tôi đã chọn một hình ảnh cơ bản. :)

Docker cung cấp khả năng sử dụng hình ảnh cơ sở chung cho hình ảnh tiếp theo, vì vậy bạn có thể xếp tất cả hình ảnh và mỗi hình ảnh chỉ chứa hình ảnh bên dưới (đó là lợi thế lớn của docker!). Bạn có thể tiết kiệm dung lượng đĩa và RAM. Nếu bạn không quan tâm về điều đó (tôi có nghĩa là bộ nhớ RAM và lưu trữ là giá rẻ), bạn cũng có thể sử dụng nhiều hình ảnh.

Một ưu điểm khác của một hình ảnh cơ sở là bạn có thể định cấu hình/bảo mật hình ảnh cơ sở đó dựa trên nhu cầu của bạn. Nếu bạn sử dụng hình ảnh cơ sở khác cho mỗi vùng chứa, bạn phải duy trì tất cả chúng (ví dụ: tường lửa) và Docker sẽ tải xuống một số hình ảnh khác nhau (sử dụng nhiều không gian đĩa hơn, bản dựng thùng chứa lâu hơn)).

Nhưng sự khác biệt khi bạn nhìn vào hình ảnh chính thức là gì? Mongodb, redis và MySQL images chính thức dựa trên debian: wheezy image. Vì vậy, nếu bạn sử dụng những hình ảnh này, chúng cũng sẽ dựa trên cùng một hình ảnh cơ sở, đúng không?

Dù sao, nếu bạn muốn sử dụng kiến ​​trúc của riêng mình, hãy thoải mái ... vui lòng xem bài đăng trên kiến ​​trúc/blog này có thể là ý tưởng tạo thiết lập Docker. Nhờ Docker và cách họ chia sẻ hạt nhân, bạn có thể sử dụng bao nhiêu hình ảnh bạn muốn. :)

Kính trọng,

Sascha

+0

Hi @Sascha Cảm ơn đã trả lời. Bây giờ tôi có thể hiểu rõ hơn quyết định của bạn dựa trên một hình ảnh duy nhất. Làm thế nào tôi có thể tiếp cận với bạn để nói về một số nghi ngờ tôi có trong một dự án tôi đang làm việc trên ?. – eduartua

Các vấn đề liên quan