[英]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
执行此操作。
brew info docker-machine
,您应该看到有关docker-machine公式的一些信息。 要立即启动启动docker-machine并在登录时重新启动:
brew services start docker-machine
或者,如果您不希望/不需要后台服务,则可以运行:
docker-machine start
brew services start docker-machine
,将立即启动服务docker-machine并注册它以在登录时启动。 brew services list
以列出所有正在运行的服务。 如果docker-machine状态已启动,则应在登录时重新启动。
您可以在.bash_profile
添加eval $(docker-machine env default)
以配置您的shell。
试试这条线
docker-machine启动默认
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.