Заметки

Отказываемся от Docker Desktop на Mac OS

Привет! В свете последних событий приходится отказываться от Docker Desktop, но без его использования, мы получаем стандартную ошибку докера, при попытке ввести команду docker ps

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Что же делать? Все просто!

Устанавливаем Docker Machine

Для начала, установим docker-machine, сделаем мы это с помощью brew, надеюсь он у тебя установлен

brew install docker-machine

Устанавливаем virtualBox

Дальше нам необходимо установить виртуалбокс

brew install --cask virtualbox

Запускаем окружение

Осталось всего лишь выполнить команду для создания докер машины

docker-machine create default --driver virtualbox

Далее выполнить команду для настройки терминала

eval "$(docker-machine env default)"

И теперь все должно заработать!

Возможные ошибки

Но у меня не заработало, я получил ошибку

Running pre-create checks...
Creating machine...
(default) Copying /Users/denis/.docker/machine/cache/boot2docker.iso to /Users/denis/.docker/machine/machines/default/boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Found a new host-only adapter: "vboxnet0"
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: /usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.99.1 --netmask 255.255.255.0 failed:
VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp

Чтобы Избавиться от этой проблемы можно следующим образом.

Надо удалить то что вы создали

docker-machine rm default

Далее создать директорию vbox в /etc

sudo mkdir /etc/vbox

Этой директории создать файл networks.conf

sudo nano /etc/vbox/networks.conf

и поместить в него строчку

* 0.0.0.0/0 ::/0

После этого опять создать докер машину

docker-machine create default --driver virtualbox

Все должно заработать.

Решение проблемы найдено на stackoverflow

Port Forwarding

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

Заходим в виртуалбокс, находим нашу default vm и заходим в настройки, там на Network и находим Port Forwarding, тут необходимо добавить ваши порты.

Denis Pershin

Published by
Denis Pershin

Recent Posts

Как исправить ошибку «Write Failed: broken pipe» при SSH соединении

Ошибка "Write Failed: broken pipe" в SSH соединении обычно возникает, когда клиент или сервер разрывает…

11 месяцев ago

Java Enum — перечисления в Java

Что такое Enum в Java Перечисление (enum) в Java - это тип данных, который позволяет…

2 года ago

Массивы в Java — создание, доступ к элементам, изменение данных

Что такое массивы? Массив - это структура данных в Java, которая представляет собой упорядоченную коллекцию…

2 года ago

ArrayList в Java — Основное

ArrayList в Java - это класс, предоставляющий возможность создания массива переменной длины, который можно изменять…

2 года ago

Как подключиться к Yandex Cloud Storage через AWS S3 golang

Проблема Если вы вдруг решили подключиться в Yandex Cloud Storage с помощью библиотеки golang aws,…

2 года ago

JDK MIssion Control на Mac

В данной заметке я попытаюсь рассказать как исправить ошибку с запуском JDK Mission Control на…

2 года ago

This website uses cookies.