Открыть список
Как стать автором
Обновить

Комментарии 26

А если какая-то выгода от использования Docker на Windows вместо привычных VmWare (которая к слову тоже не хочет запускаться с включенным Hyper-V) и VirtualBox? Ну кроме того что он бесплатный.

это ведь разные вещи, если даже отдаленно вам это кажется знакомым.

Я думаю, что более важный вопрос — есть ли выгода от использования Docker for Windows по сравнению с использованием нативной линукс версии в VirtualBox (ес-но с установленным любимым дистрибутивом линукс внутри ВМ)

Ответ такой же. Это разные вещи.


Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.

Я имел в виду докер под Линукс в ВМ. Смотрите внимательней.

Выгоды не будет, а будет только больший overhead т.к. вам нужно крутить полноценную ОС в виртуалке, а не минимально необходимую сборку с ядром linux, которая занимает всего 50-100МБ.
Плюс вы лишаете себя удобной работы с докером из хост машины.
В вашем случае проще использовать Vagrant, чем Docker в полноценной виртуалке
Если вы имеете в виду, что минимальная сборка занимает 50-100MB оперативной памяти, то это совсем не минимальная сборка, а как раз вполне обычный дистрибутив, в котором из авто запуска выкинули не нужные демоны.
из своего опыта, по ощущениям, докер на винде работает чуток быстрее, чем на маке. не отслеживал последнее время-починили ли багу со скоростью в маке, так как была реальная проблема из-за тормозов. ну и еще в винде могут быть проблемы с билдом контейнера.
На MacOS говорят большой overhead из-за использования в ней специфичной файловой системы.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Докер в Винде — это для тех, кто любит Ops больше, чем Dev.
Докер на Windows доставляет больше боли, чем должен, я с вами полностью согласен.
В этом и причина написания данной статьи.
Еще на примонтированных volume-ах не кидаются события файловой системы, поэтому inotify-tools не работает.
Docker for Windows предоставляет возможность переключать контейнеризацию между Linux и Windows версией.


В последних версиях Docker for Windows есть функция LCOW (Linux containers on Windows), которая позволяет запускать Linux контейнеры вместе и Windows контейнерами.
Информация во многом сильно устаревшая. Под Windows 10 x64 Pro, Enterprise есть нативный linux. Не виртуальная машина, а именно Linux subsystem. Install the Windows Subsystem for Linux. При включении в Docker for Windows Microsoft’s Linux containers on Windows (LCOW) одновременно будут работать несколько контейнеров с Windows и Linux. С Swarm есть проблемы, но с сетью. Windows и Linux не видят сеть друг друга. Linux видит Linux. В принципе мне это не было нужно, но на форуме docker были свежие обсуждения где даже удалось поднять swarm из Windows + Linux. Сам не пробовал, настаивать не буду. И про «на май 2018 года в официальном Docker Hub существует всего 13 образов для Windows» тоже сильно преуменьшено. Это если искать по ключевому слову win? Попробуйте еще microsoft, mssql, nanoserver к примеру. Сильно удивитесь разнообразию.
Спасибо, протестирую и напишу в статье если найду проблемы.
  1. Самый большой косяк, с которым я столкнулся это баг с правами доступа после запроса и смены пароля по доменной политики — все, после этого Docker for Windows пришлось удалять и искать какой то старый билд в ветке 17. В новой версии похоже исправили, но сидишь как на пороховой бочке.
  2. По опыту Тулбокс не удобен при разработке из-за того, что он не биндит localhost, а какой-то условный 192.168.100.99, который приходится прокидывать через переменные среды или хардкодить.
Работает очень костыльно и криво, причем прилетает оттуда, откуда подвоха не ожидаешь.

Мне пришлось отдельный компьютер достать для задач, связанных с докером и кубернетсом и ставить на него линукс. Этот способ гораздо проще и бюджетнее (с учетом сохраненного времени) даже если придется покупать отдельный и достаточно производительный ноутбук.
По поводу образов для Windows Containers. Есть еще образы в официальном репо Microsoft на Docker Hub.

Папки в Docker Toolbox (для Windows 7/8.1) лучше не подключать как volume — очень медленно выполняются операции чтения/записи.

По опыту Тулбокс не удобен при разработке из-за того, что он не биндит localhost

Можно пробросить порты с 192.168.100.99 на localhost — делается через VirtualBox интерфейс в настройках виртуальной машины default.

Для себя сделал решение — просто перейти на разработку под Linux. Нативная поддержка Docker. Весь инструментарий для разработки Java/Frontend/etc поддерживается нативно. Для чего-нибудь экзотичного VirtualBox с Windows 7.
А если в WSL поставить линуксовый докер будет нормально работать?
Еще одна прослойка, не пробовал.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.