Привет! В свете последних событий приходится отказываться от 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, тут необходимо добавить ваши порты.