使用Docker Machine在DigitalOcean上配置CentOS7的方法
概述
在DigitalOcean上利用Docker Machine自动配置CentOS 7.2 Droplet(虚拟机)和Docker Engine的方法。
前期准备
-
- DigitalOcean の API トークン (write) の作成
- Docker Mahcine のバイナリ
制作方法
$ export $do_token='自分のAPI_token'
$ docker-machine create \
--driver digitalocean \
--digitalocean-access-token $do_token \
--digitalocean-region sgp1 \
--digitalocean-size 2gb \
--digitalocean-image centos-7-0-x64 \
centos7-docker
一つだけ中国語で言い換えることができます。
–driver … DigitalOcean 用の Docker Machine ドライバを使う( 必須 )
–digitalocean-access-token … API トークンの指定 ( 必須)
–digitalocean-region … リージョンを sgp1 (シンガポール1)
–digitalocean-size … ドロップレットのサイズを 2gb
–digitalocean-image … 仮想マシン・イメージを CentOS 7.2 にするため centos-7-0-x64 を指定
ホスト名を centos7-docker に(ホスト名の指定は 必須 )
如果想要使用 CentOS 7.2 x86 映像,重要的是需要指定 centos-7-0-x64(而不是7.2)映像。
执行命令后,将创建一个虚拟机。
Running pre-create checks...
Creating machine...
(centos7-docker) Creating SSH key...
(centos7-docker) Creating Digital Ocean droplet...
(centos7-docker) Waiting for IP address to be assigned to the Droplet...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with centos...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: (snip)
如果出现错误,请确认错误内容。另外,您可以通过 docker-machine ls 命令来确认已创建的主机。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
centos7-docker - digitalocean Running tcp://<ip>:2376 v1.10.3
确认供应商
$ docker-machine ssh centos7-docker
Last login: Thu Mar 31 07:17:47 2016 from xxx
[root@centos7-docker ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@centos7-docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
通过安装CentOS 7.2,并确认能使用docker命令(自动提供)
填补
为什么希望在 Qiita 上进行书写?
- イメージは CenOS 7.2 なのに API でアクセスする時は centos-7-0-x64 で指定しないといけないという、罠があったため。
查询图像的方法 de
$ curl -H "Authorization: Bearer $do_token" \
-X GET "https://api.digitalocean.com/v2/images" | jq "."
从通过API获取到的图像信息的结果中,要使用CentOS 7.2 x64图像,需要使用 “slug”: “centos-7-0-x64″的指定。
{
"images": [
{
(省略)
{
"id": 16040476,
"name": "7.2 x64",
"distribution": "CentOS",
"slug": "centos-7-0-x64",
"public": true,
"regions": [
"nyc1",
"sfo1",
"nyc2",
"ams2",
"sgp1",
"lon1",
"nyc3",
"ams3",
"fra1",
"tor1"
],
"created_at": "2016-02-29T21:17:07Z",
"min_disk_size": 20,
"type": "snapshot"
},
(省略)
请提供相关资料
-
- DigitalOcean API v2 Documentation
https://developers.digitalocean.com/documentation/v2/