Отказываемся от 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

Добавить комментарий