簡體   English   中英

啟動后如何重啟docker-machine?

[英]How to restart docker-machine after startup?

我正在使用不支持Mac的最新Docker的MacBook Pro 2009。 因此,我正在使用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機器已死,並且看到Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 錯誤。

我試圖把下面兩行,我.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

每次啟動或重新啟動MacBook時如何重新啟動Docker Machine?

您可以使用brew services command執行此操作。

  1. 運行brew info docker-machine ,您應該看到有關docker-machine公式的一些信息。

要立即啟動啟動docker-machine並在登錄時重新啟動:

brew services start docker-machine

或者,如果您不希望/不需要后台服務,則可以運行:

docker-machine start

  1. 運行brew services start docker-machine ,將立即啟動服務docker-machine並注冊它以在登錄時啟動。
  2. 運行brew services list以列出所有正在運行的服務。

如果docker-machine狀態已啟動,則應在登錄時重新啟動。

您可以在.bash_profile添加eval $(docker-machine env default)以配置您的shell。

試試這條線

docker-machine啟動默認

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM