2013-09-30 1 views
3

Docker утверждает, что контейнеры, построенные с ним, более переносимы, чем чистые контейнеры LXC. Я думаю, я понимаю, что существуют некоторые соглашения и автоматизация конфигурации LXC, например, для имени хоста и конфигурации сети. Но есть ли нечто большее?Почему Docker утверждает, что его контейнер является портативным?

ответ

3

Если вы берете контейнер LXC (и его конфигурационный файл), он будет переносимым, только если вы запустите его на хосте с той же сетевой конфигурацией; то есть моста с тем же именем, одного и того же сетевого диапазона, одного и того же адреса маршрутизатора и одного и того же DNS-сервера.

Кроме того, если контейнер предоставляет услуги, вам необходимо будет установить сетевые правила (или что-то подобное) для доступа к этим услугам. С Docker существует согласованный синтаксис для выражения «yup, я хочу выставить порт 8000 этого контейнера», а затем «эй, какой публичный порт был выделен для порта этого контейнера 8000?»

Docker также адаптирует конфигурационный файл LXC в зависимости от локальных возможностей (например, предстоящий патч будет включать защиту apparmor, если он доступен).