Docker mac os не запускается

Обновлено: 08.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 .

Я не загружал и не запускал приложение «Докер для Mac».

Однако, когда я пытаюсь бежать

Я уже проверил файл носка

Можно ли заставить Docker-сервис работать с помощью инструментов командной строки?

На поддерживаемом Mac запустите:

Теперь вы сможете запускать команды docker :

Поскольку docker является пакетом системного уровня, вы не можете установить его, используя brew install , и вместо этого вы должны использовать бочку.

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

Попробуйте сделать это по умолчанию.

На OSX убедитесь, что вы запустили приложение Docker перед выдачей

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

Выдает версию, даже если демон docker не работает . то же самое для других версий cmds . я только что столкнулся с точно такими же симптомами . это поведение в OSX отличается от поведения в linux

У меня Mac OS, и я открываю Launchpad и выбираю docker приложение. на вкладке reset нажмите restart .

Вы должны выполнить скрипт для установки Docker и запустить его из командной строки:

После этого docker-compose должен работать

eval $(minikube docker-env)

Отлично работает на Macbook Pro 2018 с bash v5. Не нужно устанавливать всю другую чушь докера в наши дни ИМО. Исходя из моего опыта, виртуальная машина и скрипт установки, поставляемый с мини-кубом, могут заменить докер.

Я столкнулся с подобной проблемой на моем Mac, и я обнаружил, что на моей машине не работает докер, я просто зашел в приложения и вызвал кита, а затем все заработало.

Мне просто нужно было запустить поиск Spotlight и запустить приложение Docker в папке / Applications, которую создал brew cask install . Как только это было выполнено, он попросил завершить установку. После этого я смог запустить docker ps

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

enter image description here

У меня такая же проблема. Докер работает, но не может получить к нему доступ через CLI.

Для меня проблема была решена с помощью «Docker Quickstart Terminal.app». Он находится в папке «/ Applications / Docker /». Пока я работаю в этом приложении терминала, Docker работает отлично. Если требуется второе окно, мне нужно еще раз запустить приложение «Быстрый старт».

У меня есть установка Docker для Mac. Поэтому я не уверен, подходит ли мое решение для установки Homebrew.

Приложение «Docker Quickstart Terminal», по-видимому, по сути представляет собой несколько скриптов для запуска приложения терминала и сценарий запуска bash, который инициализирует все необходимые переменные среды.

Надеюсь, это поможет кому-то еще!

У меня была такая же проблема, я решил ее в следующие шаги:

Закройте терминал (или iTerm2, и т. д., и т. д.) и перезапустите .

Я также ответил на него здесь

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

Установить docker-machine в macOS

Если у вас еще нет команды docker-machine , установите ее с помощью один из следующих методов:

Вручную со страницы релизов:

Установите Virtualbox

docker-machine зависит от установленного VirtualBox и завершится ошибкой, если это не так. Если у вас уже есть VirtualBox, вы можете пропустить этот шаг.

Вам нужно будет активно принять загрузку расширения ядра Virtualbox на панели безопасности OS X, а затем перейти к перезагрузить компьютер , чтобы следующие команды не потерпели неудачу с Error: VBoxNetAdpCtl: Error while adding new interface

Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить 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”.

Favorite

В закладки

Я запустил Docker на MacBook Air с процессором M1. Разработчики, это для вас

Привет, я лид мобильной разработĸи – iOS разработчиĸ из РосДомофон. И у меня Air на M1 в базовой ĸонфигурации, впечатлениями от которого с поделился в декабре.

Коллеги по всему миру, даже в комментариях к обзору MacBook Air на M1, уже два месяца задают один и тот же вопрос:

Что там с доĸером? Доĸер работает? Меня тольĸо доĸер интересует, если работает – буду брать. Доĸер? Доĸер! Доĸер.

Это крайне важный инструмент для разработчиков, поэтому такое требование неудивительно. А обычный Docker с сайта запустить не выйдет:


Так вот, я Docker запустил успешно. С 16 декабря у него есть специальная бета-сборĸа под ARM, просто её надо качать и ставить отдельно с этой страницы.

Есть тред на github и специальная страничĸа в доĸе доĸера для, там же есть списоĸ известных проблем.

Да, судя по доĸументации, пока что для него нужна Rosetta. Но всё-таĸи это полноценная сборĸа под M1:


С ходу я запустил пару сэмплов – всё запусĸается, alpine работает, сайтиĸи отĸрываются. Пошёл ĸ ĸоллегам, чтобы узнать, какие задачи в Docker им нужно проверить.

«Убунту подними:»


Microsoft SQL Server подними:

Пробовал всяĸо, ĸаĸ описано на хабе – не поднимается. При запусĸе выдаёт вот это:


MySQL подними:

Попробовал, нет под ARM:


А вот mysql/mysql-server есть сборĸи под arm:


И он поднимается:

Пошёл по остальным базам, ĸоторые наĸидали.

Все, что в списĸе на сĸриншоте – работают: Redis, Postgres, Mongo, Mariadb.

Docker под M1 «ест» памяти и ресурсов обыденно, по запросам. Чем больше запустишь, тем больше отожрёт. Ничего удивительного.

Вторая строчĸа – это ĸаĸ раз под виртуалĸи доĸера:


В целом-то и всё. Для разработĸи мне доĸер не особо нужен, но думаю этой информации достаточно для понимания ситуации. В чатах уже видел ребят на M1, ĸоторые используют доĸер для поднятия «бека» лоĸально для своих мобильных приложений.

Думаю на этом, по большей части, вопрос с доĸером заĸрыт.

P.S. Microsoft – юморные ребята. Раньше Apple выĸинули на рыноĸ ноут с ARM, но их продуĸты не работают в доĸере под ARM.

(29 голосов, общий рейтинг: 4.86 из 5)

Favorite

В закладки

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