Я использую MacBook Pro 2009, который не поддерживает последнюю версию Docker для Mac.Итак, я использую подход Docker Machine для запуска и запуска Docker для моей машины.
Вот команды, которые я использую для установки Docker на мою машину:
$ brew install docker docker-compose docker-machine
$ docker-machine create --driver virtualbox default
$ docker-machine env
$ eval $(docker-machine env default)
Естьничего плохого в приведенных выше командах.Процесс Docker запускается и работает идеально каждый раз, когда я запускаю последнюю команду.
Но, когда я перезагружаю хост (MacBook), Docker Machine не работает, и я вижу ошибку Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
.
Я попытался поместить 2 строки ниже в моем .bash_profile
, но это не сработало (да, я уже source
это):
docker-machine restart default
docker-machine env
eval $(docker-machine env default)
Я также попытался создать файл LaunchDaemons .plist для запускаbash-скрипт при запуске, но он тоже не сработал:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:</string>
</dict>
<key>Label</key>
<string>com.startup</string>
<key>Program</key>
<string>/Users/zulh/scripts/start_docker.sh</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>LaunchOnlyOnce</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/startup.stdout</string>
<key>StandardErrorPath</key>
<string>/tmp/startup.stderr</string>
<key>UserName</key>
<string>zulh</string>
<key>GroupName</key>
<string>staff</string>
<key>InitGroups</key>
<true/>
</dict>
</plist>
bash-скрипт:
#!/bin/bash
docker-machine restart default
docker-machine env
eval $(docker-machine env default)
Команда была:
$ sudo launchctl load -w /Library/LaunchDaemons/com.startup.plist
Как сделатьЯ перезагружаю Docker Machine каждый раз, когда запускаю или перезагружаю свой MacBook?