Skip to content

Instantly share code, notes, and snippets.

@atsaki
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atsaki/aba130157a3aebf82c9e to your computer and use it in GitHub Desktop.
Save atsaki/aba130157a3aebf82c9e to your computer and use it in GitHub Desktop.
Vagrantでクラウド上にDocker環境を作る(IDCFクラウドの場合) ref: http://qiita.com/atsaki/items/631b3d78a3949fe37b0f
$ vagrant plugin install vagrant-cloudstack
$ vagrant ssh
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b6817f3c83eb mysql:latest "/entrypoint.sh mysq About a minute ago Up About a minute 3306/tcp mysql-server
$ docker run -it --link mysql-server:mysql --rm mysql bash
$ env | grep MYSQL
MYSQL_ENV_MYSQL_ROOT_PASSWORD=password
MYSQL_VERSION=5.6.22
MYSQL_PORT_3306_TCP_PORT=3306
MYSQL_PORT_3306_TCP=tcp://172.17.0.2:3306
MYSQL_ENV_MYSQL_VERSION=5.6.22
MYSQL_PORT_3306_TCP_PROTO=tcp
MYSQL_NAME=/drunk_nobel/mysql
MYSQL_MAJOR=5.6
MYSQL_PORT_3306_TCP_ADDR=172.17.0.2
MYSQL_ENV_MYSQL_MAJOR=5.6
MYSQL_PORT=tcp://172.17.0.2:3306
$ mysql -u root -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"
$ docker run -it --link mysql-server:mysql --rm mysql sh -c 'exec mysql -u root -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
override.vm.box = "dummy"
override.vm.box_url = "https://github.com/klarna/vagrant-cloudstack/raw/master/dummy.box"
cloudstack.host = "compute.jp-east.idcfcloud.com"
cloudstack.path = "/client/api"
cloudstack.port = "443"
cloudstack.scheme = "https"
cloudstack.api_key = "API Keyをここに記入"
cloudstack.secret_key = "Secret Keyをここに記入"
cloudstack.display_name = "ubuntu"
cloudstack.template_name = "Ubuntu Server 14.04 LTS 64-bit"
cloudstack.zone_name = "tesla"
cloudstack.service_offering_name = "light.S1"
cloudstack.pf_ip_address_id = "IPアドレスのIDを記入"
cloudstack.pf_public_port = "22"
cloudstack.pf_private_port = "22"
cloudstack.keypair = "SSH鍵の名前を記入"
override.ssh.private_key_path = "SSHの秘密鍵のパスを記入"
override.ssh.username = "root"
$ vagrant up --provider=cloudstack
$ vagrant destroy -f
$ vagrant up --provider=cloudstack
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provider :cloudstack do |cloudstack, override|
# ダミーBox
override.vm.box = "dummy"
override.vm.box_url = "https://github.com/klarna/vagrant-cloudstack/raw/master/dummy.box"
# CloudStackAPIを使用するためのエンドポイント・認証情報
cloudstack.host = "compute.jp-east.idcfcloud.com"
cloudstack.path = "/client/api"
cloudstack.port = "443"
cloudstack.scheme = "https"
cloudstack.api_key = "API Keyをここに記入"
cloudstack.secret_key = "Secret Keyをここに記入"
# 仮想マシン作成のパラメータ
cloudstack.display_name = "ubuntu"
cloudstack.template_name = "Ubuntu Server 14.04 LTS 64-bit"
cloudstack.zone_name = "tesla"
cloudstack.service_offering_name = "light.S1"
# 仮想マシンへの接続に必要なネットワークの設定
cloudstack.pf_ip_address_id = "IPアドレスのIDを記入"
cloudstack.pf_public_port = "22"
cloudstack.pf_private_port = "22"
cloudstack.keypair = "SSH鍵の名前を記入"
override.ssh.private_key_path = "SSHの秘密鍵のパスを記入"
override.ssh.username = "root"
end
# MySQLのコンテナを起動
config.vm.provision "docker" do |d|
d.run "mysql-server", image: "mysql",
args: "-e MYSQL_ROOT_PASSWORD=password"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment