Dockerも使える!DigitalOceanにVagrantでDocker環境構築

Posted by joeartsea on 2014-01-12

DigitalOceanはAWSのEC2みたいなサービスで仮想インスタンスを上げ下げできて従量課金。普通はVPSより高くつくのにDigitalOceanは1ヶ月立ち上げっぱなしでも月額1,000円以下(メモリ512MBのVMの場合)という個人にうれしいサービスです。

※注意:インスタンスは停止可能ですがDigitalOceanは停止中でも課金されるようです。だからこそDockerを活用して必要な時だけ立ち上げて動かし、必要なくなったら気軽にDestroyを繰り返します。

もちろん、スケールアウトはAWSより難しいと思いますが、スケールアウトが必要になるまでの小さいサービスや、私はどちらかというとサービスの補助機能をぶん回すサーバとして良いかな〜と思ってます。

いずれにしてもVagrantやDockerといったDisposable Infrastructure的な運用をユーザ側がやることで価値が増すサービスだと思いますし、今のところDigitalOcean側も期待通りの動きかと思います。

DigitalOceanはVagrantを使って仮想マシンを立ち上げられるので、今回はローカルからコマンド1発で今流行のDocker環境を構築します。…てか、詳しくはMacからVagrantコマンド一発でSSDなVPS(DigitalOcean)上にCentOS6.5+Docker環境を構築するに全部書いてますw

ただ、私の環境ではローカルとリモートのディレクトリ同期する際に「rsync error: remote command not found」とリモートにrsyncが入っていないというエラーになりました。調べたらホントにrsyncが入ってないようです。

ssh接続までは完了しているようですので入ってrsyncをインストールしてvagrant provisionで再開することで対応します(rsyncを入れた状態をbox化しておくことで次から回避できるようになります)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ vagrant ssh
[[email protected] ~]# yum install -y rsync
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: ftp.osuosl.org
* extras: ftp.osuosl.org
* updates: ftp.osuosl.org
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
extras/primary_db | 19 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 1.3 MB 00:01
...
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes
...
logout
Connection to 162.243.146.40 closed.
$ vagrant provision
[default] Rsyncing folder: /Users/ufuru/Documents/workspace/vagrant-docker-digitalocean/ => /vagrant...
[default] Running provisioner: shell...
[default] Running: inline script
...

これでDockerのインストールから再開されます。