请使用docker-machine的单一命令来创建docker-host

使用docker-machine工具,可以简化在本地机器或云提供商上安装docker daemon的过程。

UNIX 系统下的环境

    docker

首先下载docker-machine二进制文件。您可以在https://docs.docker.com/machine/上找到。

确认版本(OS X)

$docker-machine -v
docker-machine_darwin version 0.1.0

需要本地安装(必须安装VirtualBox)。

$ docker-machine create --driver virtualbox dev
INFO[0000] Creating SSH key...
INFO[0000] Creating VirtualBox VM...
INFO[0007] Starting VirtualBox VM...
INFO[0007] Waiting for VM to start...
INFO[0038] "dev" has been created and is now the active machine
INFO[0038] To connect: docker $(docker-machine config dev) ps

将其安装到Google Cloud

$ docker-machine create -d google --google-zone asia-east1-b --google-project awesome-project dev-gcp

docker主机列表

$ docker-machine ls
NAME      ACTIVE   DRIVER         STATE     URL
dev       *        virtualbox     Running   tcp://192.168.99.103:2376
dev-gcp            google         Running   tcp://104.155.212.199:2376
staging            digitalocean   Running   tcp://100.236.50.118:2376

在dev-gcp上安装MongoDB容器(30秒内!)

$ docker `docker-machine config dev-gcp` run --name mongodb-3.0 -d mongo:latest
cc7aded0fb5439c6e54edd6234e06dd61c374248a9a42191f256d461d3c5xxxx
$ docker `docker-machine config dev` ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
cc7aded0fb54        mongo:latest        "/entrypoint.sh mong   4 seconds ago       Up 3 seconds        27017/tcp           mongodb-3.0

将MongoDB容器化并通过命令行进行操作。

$ docker `docker-machine config dev-gcp` run --rm -t -i --name mongodb-3.0-cli mongo:latest /bin/bash
root@90c92aeb9f8f:/# mongo 172.17.0.5 // mongodb-containerの IPaddress
MongoDB shell version: 3.0.0
connecting to: 172.17.0.5/test
Welcome to the MongoDB shell.
For interactive help, type "help".

我将连接到创建的机器(docker-host).

$ docker-machine ssh dev-gcp

将机器移除。

$ docker-machine rm dev-gcp
INFO[0000] Deleting instance.
INFO[0001] Waiting for instance to delete.
INFO[0026] Deleting disk.
INFO[0027] Waiting for disk to delete.

虽然docker machine在生产环境中还没有被广泛使用,
但我认为它有很多可行之处。我们也在开发cloudinit。
我们已经在生产中使用它了。创建实例非常方便。

广告
将在 10 秒后关闭
bannerAds