Как установить docker на mac os

Обновлено: 04.07.2024

docker - утилита, общающаяся через сокет с хостом Docker ( docker daemon ). Является клиентом.

docker-machine - средство для управления машинами с Docker, а так же их создания. Расширярется так называемыми драйверами.

docker-compose - утилита для определения и выполнения кросс-контейнерных приложений. Позволяет объединить и настроить связку отдельных приложений в контейнерах, например, для веб-сервера: nginx, MySQL, PHP.

Использование MacOS машины как хоста

Самый очевидный способ использования Docker на Mac, учитывая, что Docker может создавать контейнеры только на ядре Linux, это использование виртуальной машины. Уже самые первые Mac на платформе Intel позволяли использовать паравиртуализацию и аппаратное ускорение для запуска виртуальных машин, но родного гипервизора не было: различные производители ПО, вроде VMware и Parralells заняли нишу гипервизоров на MacOS. Конечно же, было еще и бесплатное решение от Oracle (Virtual Box), но оно не такое удобное. В любом случае эти гипервизоры были сделаны в виде расширения ядра и порой были не очень стабильны. Начиная с Yosemite Apple добавили Hypervisor.framework, представляющий из себя API для создания HVM (аппаратных виртуальных машин). Сложно назвать это средство полноценным гипервизором, но первое достаточно массовое решение на нем - xhyve и Veertu. xhyve - гипервизор, портированный с FreeBSD и позволяет запускать Linux-машины.

До появления Hypervisor.framework и проекта xhyve предлагалось запускать Docker в виртуальной машине, используя гипервизор Virtual Box или любой другой (при помощи утилиты docker-machine у которой есть свои "драйверы", позволяющие автоматизировать создание, запуск и работу с виртуальными машинами) из предложенных. Это legacy-решение, но оно до сих пор поддерживается.

Современное же решение – это запуск виртуальной машины с использованием встроенного в MacOS процесса виртуализации. Docker назвали его HyperKit и его кодовая база практически полностью основана на проекте xhyve.

Старый способ (Docker Toolbox), как и драйверы для многих гипервизоров, разворачивают в стороннем гипервизоре образ ОС Boot2Docker.

Современный способ (Docker for Mac)

Данный способ поддерживает только Yosemite 10.10.3 и старше, но рекомендуется El Capitan и выше. Используется HyperKit, встроенная в MacOS виртуализация.

Установка проста и описана на странице Docker for Mac. Необходимо скачать DMG-контейнер, перетащить его содержимое и запустить Docker. Будут установлены консольные утилиты (docker, docker-machine, docker-compose), а также графическая оболочка для управления виртуальной машиной, в которой запущен Docker и бета-версия официальной графической утилиты для управления контейнерами Kitematic. Сразу же после этого можно использовать Docker в полную силу.

Старый способ (Docker Toolbox)

Установка так же простая и описана на странице Docker Toolbox. Установщик сам установит все необходимое, в том числе и гипервизор Oracle VirtualBox. Управлять можно с приложения Kitematic и терминала. Специально сделан шорткат, который можно найти в Launchpad и который позволит подключиться к виртуальной машине. Его же необходимо будет запустить в первый раз, так как он сам сделает виртуальную машину и настроит ее. Далее можно подключаться просто с терминала, выполнив вначале eval $(docker-machine env dev) , после чего можно общаться с docker посредством команды docker .

Рекомендуется настроить виртуальную машину Virtual Box так, чтобы она имела статический IP адрес, но была за NAT. В таком случае можно будет запускать контейнер через docker-machine или VBoxManage , либо с графического интерфейса, после чего работать с ней с обычного терминала.

Другой гипервизор

Для использования другого гипервизора необходимо установить комплект консольных утилит (docker, docker-mahine, docker-compose[^*]). Сделать это можно, установив Docker любым из способов, описанных выше, либо установив консольные утилиты через Homebrew. Кроме того, если уже установлен Virtual Box и Homebrew, то установив через него утилиты можно сделать виртуальные машины для Docker и управлять самим Docker.

[^*]: Необязателен для использования, зависит от поставленной задачи.

Чтобы создать виртуальную машину через docker-machine необходимо изучить документацию к необходимому драйверу. Для тех, что присутствуют по умолчанию, можно посмотреть в официальной документации Docker. Например, для создания виртуальной машины в VMware Fusion необходимо выполнить

После чего для для управления через docker необходимо выполнить

Чтобы точно знать, что мы управляем нужной машиной всегда можно набрать

Использование облачных сервисов и управление через Docker API

Другая машина (VPS, VDS, любой "соседний" ПК на Linux или ВМ)

Чтобы управлять Docker на любой другой машине необходимо воспользоваться драйвером Generic. Он позволит добавить через SSH с ключом или паролем любую машину в реестр docker-toolbox для удобства дальнейшего подключения через утилиту docker .

Почитать по управлению с по мощью драйвера можно в отдельной статье.

IaaS Azure, AWS, OpenStack и прочие

Используя необходимый драйвер в docker-machine можно создать виртуальную машину с Docker на практически любом популярном IaaS сервисе.

Для примера разберем MS Azure в отдельной статье.

Дополнительные драйверы для docker-machine

Если хочется использовать Docker с xhyve или же Parallels, Vultr, то можно поставить драйверы их Homebrew.

Автодополнение Docker для шелла

Чтобы было наиболее удобно управлять Docker имеет смысл установить автодополнение для шела. К сожалению, в версии для Mac оно не поставляется ни в одном варианте.

Homebrew

Если еще не установлен менеджер пакетов brew, то стоит его установить.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Лучше использовать шел ZSH. Он легко расширяется модулями и для него больше хороших модулей автодополнения. .

Установить автодополнение для docker, docker-machine, docker-compose не составит труда.

brew install docker-completion docker-machine-completion docker-compose-completion

После установки чтобы автодополнение работало проще всего открыть новую вкладку терминала и проверить работоспособность.

Для установки автодополнения для шела bash необходимо выполнить после установки с Homebrew.

Только установка docker (CLI), docker-machine, docker-compose

Используя Homebrew можно установить указанные выше утилиты для управления docker на любой виртуальной (иди другой) машине без лишних утилит. Можно добавить машину в docker-machine и легко получить к ней доступ через команду eval $(docker-machine env machinename) , после чего управлять ей через docker .

Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Docker Desktop на macOS.

Docker Desktop - это приложение для создания и совместного использования контейнерных приложений и микросервисов.

Переходим по ссылке и нажимаем на кнопку “Download for Mac”.

В данном руководстве рассматривается установка стабильной (Stable) версии Docker Desktop. Если вы хотите установить эксперементальную (Edge) версию Docker Desktop, то необходимо выбрать “Edge” в выпадающем списке.

Установка Docker Desktop на macOS

Переходим в папку “Downloads” и нажимаем на файл Docker.dmg два раза левой кнопкой мыши.

Установка Docker Desktop на macOS

Теперь необходимо переместить приложение Docker в папку Applications.

Установка Docker Desktop на macOS

Переходим в “Applications” и нажимаем на файл Docker.app два раза левой кнопкой мыши.

Установка Docker Desktop на macOS

Далее необходимо подтвердить, что вы доверяете приложению Docker, которое было загруженномо из сети Интернет.

Нажимаем на кнопку “Open”.

Установка Docker Desktop на macOS

На следующем шаге вы увидите предупреждение о том, что приложению Docker Desktop требуются дополнительные права для установки необходимых компонентов.

Нажимаем на кнопку “OK”.

Установка Docker Desktop на macOS

Далее необходимо указать имя пользователя и пароль учетной записи, обладающей правами администратора на вашем компьютере, и нажать на кнопку “Install Helper”.

Установка Docker Desktop на macOS

Установка Docker Desktop успешно завершена.

Нажимаем на кнопку “Skip tutorial”.

Установка Docker Desktop на macOS

Теперь можно запустить первый контейнер.

Сохраняем полученную команду.

Установка Docker Desktop на macOS

Переходим в “Applications”, затем открываем папку “Utilities” и нажимаем на Terminal.app два раза левой кнопкой мыши.

Установка Docker Desktop на macOS

Выполняем ранее полученную команду:

Установка Docker Desktop на macOS

Возвращаемся в приложение Docker Desktop.

Контейнер успешно запустился и отображается в приложении Docker Desktop.

Теперь нажимаем на кнопку “Open in Browser”, которая находится справа от запущенного контейнера.

Установка Docker Desktop на macOS

В окне браузера отобразится информация о ранее запущенной команде, которая запустила ваш первый контейнер.

Установка Docker Desktop на macOS

Теперь необходимо войти под учетной записью Docker Hub.

Если у вас еще нет учетной записи на веб-сайте, то зарегистрируйтесь для получения дополнительных возможностей.

Если у вас уже есть учетная запись на веб-сайте, то возвращаемся в приложение Docker Desktop и нажимаем на кнопку “Sign in”, которая находится в правом верхнем углу.

Установка Docker Desktop на macOS

Затем указываем логин и пароль от учетной записи Docker Hub и нажимаем на кнопку “Sign in”.

Докер на Mac

Платформа, известная как Docker, стала одним из самых популярных способов запуска нового вида программного обеспечения, известного как контейнерные приложения. И хотя Docker в основном ориентирован на программистов, есть несколько причин, по которым обычные пользователи Mac могут захотеть этого.

Что такое контейнерные приложения?

Программисты могут написать приложение один раз и знать, что оно будет работать где угодно и когда угодно. Предприятия получают эффективный способ запуска большого количества приложений на одном сервере без нагрузки на оборудование. Кроме того, пользователи получают приложения, которые не будут разрастаться и распространять файлы в закоулки своих жестких дисков, а также не начнут загружать память и замедлять работу всего компьютера.

Как работает Docker?

Когда вы запускаете простое в установке приложение Docker, оно запускается в фоновом режиме, и вы можете использовать Terminal или другое приложение под названием Kitematic (мы вернемся к этому позже) для установки и запуска контейнерных приложений.

Для кого предназначен Docker?

Как упоминалось выше, Docker в основном нацелен на программистов, которые хотят контейнировать существующие приложения или написание новых, а также на бизнес и ИТ-специалистов, которые хотят использовать его программное обеспечение промышленного уровня.

Существуют Docker-версии привычных настольных приложений, таких как Firefox, Chrome, Skype, Spotify, редактор изображений GiMP и аудио редактор Audacity. Но большинство из этих приложений уже имеют собственные версии Mac. Запускать их в контейнерах имеет смысл только в том случае, если вам нравится техническая задача, вы хотите, чтобы одно приложение не перегружало всю память вашей системы, или вы хотите, чтобы любая вредоносная программа, которую вы можете обнаружить во время просмотра веб-страниц, оставалась внутри своего контейнера и не могла сбежать на остальной части вашего Mac.

Как установить Docker на свой Mac

1. Создайте учетную запись Docker Hub.

Docker Hub отслеживает контейнеры, которые вы запускаете (или создаете), и предоставляет универсальный магазин для поиска новых. Зарегистрируйте учетную запись Docker с уникальным идентификатором Docker, адресом электронной почты и надежным паролем.

2. Загрузите Docker Desktop для Mac

После регистрации и входа в Docker Hub установите Docker Desktop для Mac. В нем есть все, что вам нужно для запуска Docker в одном Mac-дружественном установщике. Ваш Mac должен работать под управлением Mac OS Sierra или более поздней версии и иметь как минимум 4 ГБ ОЗУ.

3. Установите Docker Desktop на свой Mac

Открыть docker.dmg файл, который вы скачали, и перетащите значок кита в приложении Docker в папку «Приложения».

Установка Docker не смогла

4. Откройте и запустите Docker

Когда вы запустите приложение Docker, в правой части меню над вашим экраном появится значок маленького кита. Запуск займет несколько минут, и Docker может попросить вашего разрешения использовать службы на вашем компьютере. Приложение также предложит вам ввести идентификатор Docker и пароль, который вы только что создали.

Сделай кита счастливым. Войдите с вашим идентификатором Docker.

Когда контейнеры перестают появляться и исчезать над маленькой иконкой кита в строке меню, и вы видите зеленую точку в верхней части меню Docker рядом с «Docker Desktop работает», все готово.

Прочтите: Как отформатировать заметки для iPhone и iPad |

Обратитесь к разделу «Настройки» в меню Docker, чтобы определить, какой большой объем выделенного Docker жесткого диска и сколько памяти и ЦП ему разрешено использовать, среди других параметров.

5. Скачайте и установите Kitematic

Kitematic - твой друг. дон

В Kitematic вы можете искать и устанавливать новые контейнеры, а также удалять, редактировать, останавливать или перезапускать существующие. Если контейнер работает, Kitematic предоставляет вам простой способ просмотра его файлов журнала, которые не всегда видны из Терминала. Интерфейс довольно интуитивно понятен, поэтому вы можете поиграть и посмотреть, что вы можете сделать.

Kitematic предлагает дружественный графический интерфейс для управления и установки пакетов Docker.

В моих тестах Kitematic оказался наиболее полезным для удаления проблемных контейнеров, установку которых я как-то испортил. Просто найдите контейнер в списке в левой части окна Kitematic, щелкните значок X рядом с ним, и контейнер полностью исчез. Вы всегда можете переустановить пакет, либо из Терминала, либо выполнив поиск в Kitematic, и попробуйте снова.

Где я могу узнать больше о Docker для Mac?

Консультируйтесь с Docker для файлов справки Mac для получения дополнительной информации о начале работы, способах проверки, что ваша установка запущена и работает гладко, и больше вещей, которые вы можете сделать с Docker. Также есть руководство, которое научит вас создавать свои собственные приложения в контейнерах.

Для менее технически настроенных людей сложно найти хороший список настольных приложений, которые работают с Docker. Docker Hub не разбивает настольные приложения на отдельные категории, но Джесси Фразель составила этот список в 2015 году.

Помимо Pi-hole, есть ли у вас какие-нибудь любимые контейнеры Docker, которые могут принести пользу обычным пользователям Mac? Отправьте их нам в комментариях ниже.

Примечание: Docker поддерживается на Mac OS X начиная с версии 10.6 "Snow Leopard".

Движок Docker использует специфические особенности ядра Linux, поэтому вам для того, чтобы запустить его на OS X, потребуется воспользоваться легковесной виртуальной машиной. Вы можете использовать клиентскую программу OS X Docker для управления виртуализированным движком Docker, который будет собирать, запускать и управлять контейнерами Docker.

Чтобы сделать этот процесс проще, мы создали вспомогательное приложение Boot2Docker для установки виртуальной машины (VirtualBox), в которой уже все настроено для запуска демона Docker.

Установка

  1. Скачайте последнюю версию инсталлятора Docker for OS X (ищите зеленую кнопку Boot2Docker-x.x.x.pkg в нижней части страницы).
  2. Запустите программу установки, дважды щелкнув по загруженному пакету: будет установлена виртуальная машина VirtualBox, сам Docker и средство управления Boot2Docker.


Будет открыто терминальное окно и вы увидите запуск виртуальной машины. Как только виртуальная машина будет проинициализирована, вы сможете останавливать и запускать ее с помощью команд boot2docker stop и boot2docker start .

то можно установить переменную среды окружения так, как это указано в инструкции ( set: export DOCKER_HOST=tcp://192.168.59.103:2375 ).

Более подробную информацию смотрите в файле Boot2Docker ReadMe.

Обновления

  1. Скачайте последнюю версию инсталлятора Docker for OS X
  2. Если Boot2Docker в данный момент работает, то остановите его с помощью команды boot2docker stop . Затем запустите пакет инсталлятора, который обновит Docker и инструмент управления Boot2Docker.
  3. Чтобы завершить обновление, вам также потребуется обновить существующую виртуальную машину. Откройте окно терминала и выполните команды:

Будет скачан образ .iso, в котором находится новая версия виртуальной машины. Обновление завершено. Вы можете проверить это, выполнив инструкции, которые приведены ниже.

Запуск Docker

Из вашего терминала, вы можете проверить работу Docker при помощи нашего маленького образа-примера hello-world : запустите виртуальную машину ( boot2docker start ), а затем выполните команду:

Перенаправление порта контейнера

В последней версии boot2docker настраивается сетевой адаптер для связи с хост-системой, с помощью которого обеспечивается доступ к портам контейнера.

Если вы запускаете контейнер с следующим открытым портом:

то у вас должна быть возможность получить доступ к этому серверу Nginx по адресу IP, что делается следующим образом:

Как правило, это адрес 192.168.59.103:2375, но в будущем в конкретной реализации DHCP в Virtualbox он может быть изменен.

Дополнительные подробности

Инструментальное средство Boot2Docker для работы с виртуальной машиной и Docker предоставляет следующие команды:

Продолжение описания смотрите в Руководстве пользователя .

На сайте Boot2Docker можно найти дополнительную информацию или сообщить о проблеме.

Предварительные требования

Установка и настройка

Чтобы установить Docker, изучите и выполните рекомендации из статьи об установке Docker Desktop для Mac.

Visual Studio для Mac автоматически добавит в решение новый проект с именем docker-compose, а затем добавит в существующий проект файл Dockerfile.

Автоматически созданные файлы поддержки Docker

Общие сведения о Dockerfile

Dockerfile содержит инструкции по созданию окончательного образа Docker. См. справочник по Dockerfile для получения сведений о других доступных в нем командах.

Предыдущий Dockerfile основан на образе microsoft/aspnetcore и включает в себя инструкции по изменению базового образа путем сборки проекта и добавления его в контейнер.

Отладка

Во время первого запуска после установки Docker Desktop может появиться следующая ошибка при попытке отладки: Cannot start service dockerdemo: Mounts denied

Добавьте /usr/local/share/dotnet/sdk/NuGetFallbackFolder на вкладку общего доступа в Docker Desktop:

Добавление папки NuGetFallbackFolder в раздел общего доступа

Когда сборка завершится, приложение откроется в браузере Safari:

Проект Docker по умолчанию, запущенный в Safari

Чтобы просмотреть список выполняемых контейнеров, выполните команду docker ps в терминале.

Обратите внимание на ретранслятор портов на следующем снимке экрана (в разделе PORTS (Порты)). Это означает, что контейнер прослушивает порт, который мы ранее открывали в браузере Safari, и передает все запросы на внутренний веб-сервер через порт 80 (как определено в файле Dockerfile). Само приложение считает, что прослушивает порт 80:

Читайте также: