Skip to content

Instantly share code, notes, and snippets.

@asufana
Last active December 14, 2015 02:58
Show Gist options
  • Save asufana/10696834 to your computer and use it in GitHub Desktop.
Save asufana/10696834 to your computer and use it in GitHub Desktop.
Vagrant + Digital Ocean を試してみる

Vagrant + Digital Ocean を試してみる

下記ブログエントリを試してみる

環境整備

Vagrantインストール

  • Vagrantからインストーラダウンロードして導入

Homebrewインストール

  • コマンドラインから下記実行
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

curl-ca-bundleインストール

  • コマンドラインから下記実行
brew install curl-ca-bundle

Digital Ocean契約

  • Digital Oceanにアカウント作成
  • クレジットカード登録
  • SSH公開鍵登録
  • APIキー作成

一旦Webからインスタンスを生成してみる

Vagrantfile作成

Vagrant設定となるVagrantfileを作成

Vagrant.configure('2') do |config|
  config.vm.hostname              = 'hana.digitaloceantest.com'

  config.vm.provider :digital_ocean do |provider, override|
    provider.client_id            = 'xxxxxxx'
    provider.api_key              = 'xxxxxxx'
    provider.ssh_key_name         = 'hanamac'

    override.ssh.private_key_path = '~/.ssh/id_rsa'
    override.vm.box               = 'digital_ocean'
    override.vm.box_url           = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"

    provider.ca_path              = '/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt'
    provider.image                = 'CentOS 6.4 x64'
    provider.region               = 'Singapore 1'
    provider.size                 = '512MB'
  end

end

インスタンス生成

$ vagrant up --provider=digital_ocean
Bringing machine 'default' up with 'digital_ocean' provider...
==> default: Using existing SSH key: hanamac
==> default: Creating a new droplet...
==> default: Assigned IP address: xxx.xxx.xxx.xxx
==> default: Modifying sudoers file to remove tty requirement...
==> default: Rsyncing folder: /Users/hana/Dropbox/Develop/vagrant/ => /vagrant...

インスタンス接続と削除

接続

vagrant ssh

破棄

vagrant destroy

dockerを使ってみる

CentOS6.4+dockerインストールを設定する

*digitalOceanにはCentOS6.5も用意されているが、rsyncコマンドがインストールされていないため6.4を利用する(VagrantでDigitalOceanのCent OS 6.5を使う

Vagrant.configure('2') do |config|
  config.vm.hostname              = 'hana.digitaloceantest.com'

  config.vm.provider :digital_ocean do |provider, override|
    provider.client_id            = 'xxxxxxx'
    provider.api_key              = 'xxxxxxx'
    provider.ssh_key_name         = 'hanamac'

    override.ssh.private_key_path = '~/.ssh/id_rsa'
    override.vm.box               = 'digital_ocean'
    override.vm.box_url           = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"

    provider.image                = 'CentOS 6.4 x64'
    provider.region               = 'Singapore 1'
    provider.size                 = '512MB'
    provider.ca_path              = '/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt'
  end

  # dockerインストール設定
  config.vm.provision :shell, :inline => <<-EOT
    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    yum -y install docker-io
    chkconfig docker on
    service docker start
  EOT

end

インスタンス起動

vagrant up --provider=digital_ocean --provision
Bringing machine 'default' up with 'digital_ocean' provider...
==> default: Using existing SSH key: hanamac
==> default: Creating a new droplet...
==> default: Assigned IP address: 128.199.198.26
==> default: Modifying sudoers file to remove tty requirement...
==> default: Rsyncing folder: /Users/hana/Dropbox/Develop/vagrant/centos65docker/ => /vagrant...
==> default: Running provisioner: shell...
    default: Running: inline script
warning: /var/tmp/rpm-tmp.JsRNTP: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Preparing...                ##################################################
epel-release                ##################################################
...

docker利用

[root@hana ~]# docker run -i -t centos /bin/bash
Unable to find image 'centos' locally
Pulling repository centos
539c0211cd76: Download complete 

bash-4.1# 
bash-4.1# hostname
2cb2800a97ea
bash-4.1# 

まだやってない

  • SnapShotで前回利用状態の保持
  • vagrantからのSnapShot管理
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment