我們開發了DigitalOcean的方便工具
首先
因为我开发了一个名为Dioc的DigitalOcean管理工具,所以我要向大家介绍一下。(请自行承担责任进行使用。)
在操作上,我们需要在Ubuntu系统上安装Docker和Python 3.5。如果您使用的是Windows系统,请参考安装Ubuntu并使用Docker的方法,在VirtualBox中安装Ubuntu14和Docker1。
只要您安装好Docker,您就可以立即开始使用Docker镜像dioc-python-3.5。

用词
DigitalOcean: AWSのEC2のようなクラウドサービス。
Droplet: 仮想OSのインスタンス。
Snapshot: Dropletの状態を保存したもの。Snapshotを元にDropletを作成できます。
Image: Dropletの元になるもの。公式のものと、Snapshotで作成した私的なものから選べます。公式なものは、OSだけのものや、アプリ2込み(下図)のものがあります。
課金: 1月当たり5\$, 10\$, 20\$, 40\$, 80\$, 160\$, 320\$, 480\$, 640\$のプランがあり、メモリは価格に比例しています。Dropletを作成すると、停止(PowerOff)しても破棄(Destroy)するまで、課金されます。不要な課金を避けるためには、Droplet停止、DropletからSnapshot作成、Droplet破棄を行えばよいです。現在、Snapshotを作成しても無料ですが、将来は課金されるようです。また、データ転送量がリミットを超えても課金が発生します。

为什么选择DigitalOcean?
-
- 安い。支払いの上限あり。1ヶ月5$から。
-
- 早い。1分以内の起動。全てSSD。
-
- 簡単。シンプルな管理画面。
利用者が多い。
今なら10$の特典つき!?
DigitalOcean的缺点
-
- 東京リージョンがありません。シンガポールを選びましょう。
-
- AWSに比べて下記の機能がないため、大規模な場合は一手間かかります。
Reserved Instance
Marketplace
AvailabilityZone
SecurityGroup
ElasticIP
ELB
VPC
参考:
AWS实例价格太高了,真是笑死我了。如果寻找的话,还是有便宜又好用的地方的。
在使用之前,我想要了解一下DigitalOcean的总结。
在DigitalOcean上使用Docker的好处。
-
- アプリケーションを配布するのに比べて、より確実に稼働させることができます。
-
- 課金のかからないローカルで実行環境を作成できます。
-
- CoreOSを使えば、デプロイも簡単です。
- 軽快に動作します。
请参考以下内容: Docker官方支持的操作系统列表。
创建DigitalOcean账户
请注意,从这里开始需要使用信用卡或PayPal进行付款,因此会产生费用。
-
- 打开 DigitalOcean3,输入电子邮件和密码,点击”创建账户”按钮。
- 收到电子邮件后,点击链接,输入信用卡等信息。
试试使用DigitalOcean
通常情况下,Droplet的登录密码会通过邮件发送。(请等待几分钟)由于通过邮件确认密码再登录是比较麻烦的,所以接下来将说明如何使用SSH密钥的方式来登录。
设置SSH密钥
-
- Ubuntuで下記を実行します。パスフレーズは、ログインで必要になりますので覚えてください。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
ssh-add
下記を実行し、表示される内容をコピーしてください。
cat ~/.ssh/id_rsa.pub
DigitalOceanにログインし、右上のからSettingsを選んでください。
左の[Security]を選び、[Add SSH Key]を押してください。
[Name]を[id_rsa]にし、[Public SSH Key]にコピーした内容を貼り付けて、[Create SSH Key]を押してください。
尝试创建第一个Droplet
[Create Droplet]を押します。
[Choose an image]は[CoreOS]に変えましょう。
[Choose a size]は一番安い”$5/mo”に変えましょう。
[Choose a datacenter region]は、日本に近い”Singapore”に変えましょう。
[Add your SSH keys]は”id_rsa”をチェックしてください。
[Create]ボタンを押してください。課金が始まります。
数十秒ほどで起動します。
[IP Address]をコピーしてください。
Ubuntuで下記を実行してください。初回はパスフレーズを聞かれます。
ssh core@[コピーしたIP Address]
下記を実行するとスペックがわかります。
cat /proc/cpuinfo
ログアウトしてください。
Droplet画面で作成したDropletをDestroyしてください。
Destroyしないと、ずっと課金されますので注意してください。
生成API令牌
要从程序中操作DigitalOcean,需要获得API令牌。请按以下方法获取令牌。一旦获得令牌,您便可以自由使用DigitalOcean。请妥善保管好这个令牌。
参考:初学者在AWS上犯错导致不正使用账单达到6000美元,并且险些哭泣的故事。
-
- DigitalOceanにログインし、上部のAPIを選んでください。
[Generate new token]を押してください。
[Token Name]に”apitok”を入れてください。[Write]はチェックしたままにしてください。
[Generate Token]を押してください。
画面に表示されたトークンを適宜メモしてください。この画面を閉じると同じトークンは、2度と表示されません。
トークンを忘れてしまったら、削除して再作成してください。
Dioc的介绍
环境建立
-
- cryptographyをインストールしてください。Anacondaであれば、下記のようにしてください。
“conda install -y cryptography”
ローカルで実行したい場合
Python3.5を使える状態で”pip install dioc”としてください。その後で、下記のように”.bashrc”に追記してください(一度だけでOK)。
Dockerコンテナ内で実行したい場合
ローカルで下記のように”.bashrc”に追記してください(一度だけでOK)。その後で、”docker run -it -v ~:/root tsutomu7/dioc-python-3.5
“としてください。
cat << eof >> .bashrc
export DIOC_TOKEN=「DigitalOceanのAPIトークン」
export DIOC_DEFAULT_SSHKEY=id_rsa
export DIOC_DEFAULT_SIZE=512mb
export DIOC_DEFAULT_REGION=sgp1
if [ -x /usr/local/bin/dio -o -x /opt/conda/bin/dio ]; then
eval "$(_DIO_COMPLETE=source dio)"
fi
eof
source ~/.bashrc
如果在Bash中使用时
在Bash操作中,命令是”dio”。已经启用了bash-completion。
请将”image name”命名为例如”899.17.0 (stable)”。
使用”dio list image”命令可以显示图像列表。
# Dropletの作成
dio create "Droplet名" "イメージ名"
# SnapshotからDropletの作成
dio create "Droplet名" "Snapshot名"
# SSHでコマンド実行
dio ssh "Droplet名" "コマンド"
# ファイルコピー
dio scp "Droplet名:ファイルバス" "Droplet名:ファイルバス"
# IPアドレス確認
dio ip "Droplet名"
# Droplet一覧確認
dio list
# その他の一覧確認(対象は、droplet, image, private, ssh, size, regionが選べます)
dio list "対象"
# Dropletの削除
dio destroy "Droplet名"
MongoDB服务器启动示例
dio create test
dio ssh test
mkdir mongo
docker run -d -p 27017:27017 -v ~/mongo:/data/db --name mongo mongo
# docker exec -it mongo mongo
exit
dio destroy test
Web服务器的启动示例
如果是在DigitalOcean上,则可以轻松启动服务器。在下面的例子中,我们启动了GoTour的服务器。
dio create test '' user_data='"#!/bin/bash\ndocker run -p 80:8080 tsutomu7/gotour"'
firefox `dio ip test`
# do something
dio destroy test
如果使用Python3.5版本
基本上,这是python-digitalocean的封装,因此请参考其方法。通过Droplet方法可以启动Droplet。SSH客户端将自动尝试重试6次。
from dioc import *
# Dropletの作成
d = Droplet('dgoc') # dgocという名前のCoreOSのDropletを作成
# SnapshotからDropletの作成
d = Droplet('dgoc', 'test') # testというsnapshotから名前dgocのDropletを作成
# IPアドレスの確認
print(d.ip_address)
# SSHクライアントの作成
c = ssh_client(d)
# SSHでコマンド実行
c.exec_command(コマンド)
# Dropletの削除
d.destroy()
以上
在Linux中,输入命令“wget -qO- https://get.docker.com/ | sh”可以安装Docker。
DigitalOcean提供了各种应用程序。
Cassandra是一种NoSQL数据库。
Discourse是一个论坛管理工具。
Django是一个Web框架。
Docker是一个容器管理工具。
Dokku是Heroku的克隆版,用于免费的云服务器。
Drone是一种持续集成工具。
Drupal是一个内容管理系统。
Elixir是一种编程语言。
ELK指的是Elasticsearch、Logstash和Kibana。
Ghost是一个博客系统。
GitLab是一个私有的GitHub。
Joomla是一个内容管理系统。
LAMP指的是Linux、Apache、MySQL和PHP。
LEMP指的是Linux、Nginx、MySQL和PHP。
Magento是一个电子商务平台。
MEAN指的是MongoDB、Express、AngularJS和Node。
MediaWiki是一个私有的维基百科。
MongoDB是一种NoSQL数据库。
Mumble是一种语音聊天工具。
node是一种编程语言。
ownCloud是一个文件共享工具。
PHPMyAdmin是一个MySQL管理工具。
Redis是一种内存数据存储工具。
Redmine是一个项目管理工具。
Ruby on Rails是一个Web框架。
WordPress是一个博客系统。
如果您通过此URL注册,我将获得积分。