Docker Quickstart Terminal有什么作用?

时间:2016-06-28 18:49:22

标签: docker virtual-machine

我刚刚开始使用Docker。我能够运行我的服务器,并在它们之间进行通信。

我不明白的是:为什么我需要从Docker Quickstart Terminal打开的窗口运行Docker命令,例如$ docker run somerepo/image。从“常规”终端窗口运行它会返回$ docker run dockerinaction/hello_world docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. See 'docker run --help'.

据我所知,在OS X和Windows上,Docker需要使用Linux 2.6(在我的情况下)启动一个虚拟机,并且所有容器都在该VM中运行。

我虽然docker CLI连接到在该VM内部运行的docker守护程序 - 然后我不明白Quickstart终端中发生了什么。

3 个答案:

答案 0 :(得分:4)

  

我不明白快速启动终端会发生什么。

您可以使用docker-machine env提供的常规终端,并执行与osx/mpkg/quickstart.app/Contents/Resources/Scripts/start.sh类似的操作:

dockerm-machine start dev
eval "$(docker-machine env dev)"

(将#39; dev&#39;替换为泊坞机的名称。默认情况下,它被命名为...&#34; default&#34;)< / p>

一旦设置了Docker客户端的环境变量,就可以直接从shell执行docker命令 快速入门终端会为您设置相同的变量。

答案 1 :(得分:2)

通过观看终端输出,您可以看到它的作用。在我的情况下,它运行 bash --login'/ Applications / Docker / Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'尝试启动虚拟机。一旦它运行,它使用等效的 eval“$(docker-machine env default)”来设置一些环境变量,以便终端准备好访问Docker VM。

如果您需要更多信息,请查看该脚本start.sh。

答案 2 :(得分:0)

docker quickstart 终端有什么作用?

来自Docker docs

<块引用>

它将创建并启动一个运行 Docker Engine 的 VirtualBox VM,然后 配置命令行环境,以便您可以与之对话

换句话说,它设置了一些环境变量,以便您的终端准备好访问 Docker 虚拟机。 -(感谢@Nauraushaun)