2016-08-30 11 views
2

У меня есть docker-machine под названием default. Я пытаюсь запустить его при загрузке. Я могу сделать это при входе в систему, но мне нужно это без входа.Начать докер-машину на ботинке

Я поместил следующий файл как в /LaunchAgents/com.docker.machine.default.plist, так и в /LaunchDaemons/com.docker.machine.default.plist, оба из которых не работают.

/Library/LaunchDaemons/com.docker.machine.default.plist

<?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>RunAtLoad</key> 
     <true/> 
     <key>EnvironmentVariables</key> 
     <dict> 
      <key>PATH</key> 
      <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string> 
     </dict> 
     <key>Label</key> 
     <string>com.docker.machine.default</string> 
     <key>ProgramArguments</key> 
     <array> 
      <string>/usr/local/bin/docker-machine</string> 
      <string>start</string> 
      <string>default</string> 
     </array> 
    </dict> 
</plist> 

Я также запустить sudo chmod 640 на обоих файлов в случае, если было разрешение вопроса, как описано here.

Когда я запустил sudo launchctl load -w com.docker.machine.default.plist, как описано в учебнике, я получаю «сервис уже загружен».

Служба, безусловно, не работает, как я проверил, используя docker-machine ls и docker-machine status default, и машина остановлена ​​при запуске.

Update

Я добавил, войдя в мой LaunchDaemon и получить следующий вывод.

Хост не существует: "по умолчанию"

тогда я бегу docker-machine ls и я получаю:

NAME  ACTIVE DRIVER  STATE  URL SWARM DOCKER ERRORS 
default -  virtualbox Stopped     Unknown 

Как вы можете видеть, что машина есть. Если я бегу docker-machine start default вручную, он запускается нормально ...

Starting "default"... 
(default) Check network to re-create if needed... 
(default) Waiting for an IP... 
Machine "default" was started. 
Waiting for SSH to be available... 
Detecting the provisioner... 
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command. 
+0

Вы уже проверили [это PLIST] (https://gist.github.com/andystanton/257fab335b242bc2658b)? Вам также необходимо оценить текущий IP-адрес компьютера, выполнив команду 'eval $ (docker-machine env default)' bash. –

+0

@ KonstantinAzizov посмотрите пожалуйста оригинальный вопрос. Добавили свой файл plist. IP-адреса прекрасны. Докер-машина даже не запущена – StuStirling

+0

Почему вы не используете mac-docker 4 вместо VirtualBox? Хост всегда будет вставать, когда вы входите в систему, так как сам mac является хостом. – Alkaline

ответ

0

услуги из/Library/LaunchDaemons по ходу по умолчанию в качестве корневого пользователя. у root нет никаких докеров. Вы можете указать пользователя (Дженкинс в моем случае), как

Для получения дополнительной документации вы можете использовать man launchd.plist.

Полный org.vovkasm.docker-machine.plist, что I'am использовать для пользователя Дженкинс:

<?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/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string> 
    </dict> 
    <key>Label</key> 
    <string>org.vovkasm.docker-machine</string> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/usr/local/opt/docker-machine/bin/docker-machine</string> 
     <string>start</string> 
     <string>default</string> 
    </array> 
    <key>RunAtLoad</key> 
    <true/> 
    <key>WorkingDirectory</key> 
    <string>/usr/local</string> 
    <key>UserName</key> 
    <string>jenkins</string> 
    </dict> 
</plist> 

 Смежные вопросы

  • Нет связанных вопросов^_^