2016-08-30 102 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> 

我也運行在該案中,所描述的here權限問題這兩個文件sudo chmod 640

當我運行時,如教程中所述,sudo launchctl load -w com.docker.machine.default.plist我得到「服務已經加載」。

該服務絕對沒有運行,因爲我使用docker-machine lsdocker-machine status default進行了檢查,並且機器在啓動時停止。

更新

我已經加入登錄我LaunchDaemon並得到下面的輸出。

主機不存在: 「默認」

我然後運行docker-machine ls,我也得到:

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

正如你可以看到機器是存在的。如果我手動運行docker-machine start default,它從默認運行作爲根用戶/庫/ LaunchDaemons開始了罰款...

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 )?您還需要通過運行'eval $(docker-machine env default)'bash命令來評估當前機器IP。 –

+0

@KonstantinAzizov請參閱原始問題。已添加我的plist文件。 IP很好。碼頭機甚至沒有啓動 – StuStirling

+0

爲什麼不使用docker 4 mac而不是VirtualBox?由於mac本身是主機,因此主機在登錄時始終處於啓動狀態。 – Alkaline

回答

0

服務。根沒有任何碼頭機器。您可以爲

指定用戶(在我的情況詹金斯)有關詳細的文檔,你可以使用man launchd.plist

全org.vovkasm.docker-machine.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>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>