首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在启动后重启docker-machine?

如何在启动后重启docker-machine?
EN

Stack Overflow用户
提问于 2018-05-29 22:34:51
回答 2查看 7.5K关注 0票数 2

我使用的是DockerPro2009,它不支持最新的MacBook。因此,我正在使用Docker machine方法来为我的机器启动和运行Docker。

下面是我用来在我的机器上安装Docker的命令:

代码语言:javascript
复制
$ 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?错误。

我试着在我的.bash_profile中放了下面两行,但是它不起作用(是的,我已经source它了):

代码语言:javascript
复制
docker-machine restart default
docker-machine env
eval $(docker-machine env default)

我还尝试创建一个LaunchDaemons .plist文件来在启动时运行一个bash脚本,但也不起作用:

代码语言:javascript
复制
<?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脚本:

代码语言:javascript
复制
#!/bin/bash
docker-machine restart default
docker-machine env
eval $(docker-machine env default)

命令是:

代码语言:javascript
复制
$ sudo launchctl load -w /Library/LaunchDaemons/com.startup.plist

如何在每次启动或重启MacBook时重启Docker Machine?

EN

回答 2

Stack Overflow用户

发布于 2018-09-26 16:51:54

您可以使用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,将立即启动服务停靠机,并将其注册为在登录时启动。
  2. 运行brew services list可列出所有正在运行的服务。

如果扩展底座机器状态为已启动,则应在登录时重新启动。

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

票数 5
EN

Stack Overflow用户

发布于 2019-06-11 16:42:50

试试这条线

docker-机器启动默认值

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50587035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档