在最新的 Ubuntu 15.04 机器上,安装 Docker 版本 1.8.2,构建 0a8c2e3。
如果我按照指示运行标准 docker-machine 测试这里:
$ docker-machine create --driver virtualbox dev
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
To see how to connect Docker to this machine, run: docker-machine env dev
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev virtualbox Running tcp://192.168.99.101:2376
因此它正在运行,并且我可以在 Virtualbox 中看到它具有正确的用户和网络接口。
所以我执行下一步“告诉 Docker 与那台机器对话”。
$ eval "$(docker-machine env dev)"
但是当我尝试执行“docker ps”时,容器没有显示:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
为什么 docker ps 不显示我的 docker-machine 容器?
答案1
那是因为你还没有真正启动容器。你刚刚创建了一个可以运行 Docker 服务器的虚拟机。
运行以下命令只是表示 docker 命令应该使用您刚刚创建的 vm。docker 命令不指向容器,而是指向机器(在本例中名为“dev”)。
eval "$(docker-machine env dev)"
通过打开 virtualbox,您将看到刚刚创建的 VM。
现在如果您想实际启动一个容器,您可以尝试以下命令:
docker run --name=test_container --rm -it alpine /bin/bash
打开一个新的终端窗口(当该容器仍在运行时)并再次初始化您的环境:
eval "$(docker-machine env dev)"
现在如果你运行,docker ps
你将看到正在运行的容器。