目的
windowsでcygwinからcoreosを起動してそこから開発用の仮想環境を構築する。
あくまでも個人用である。
試してないけどmacでも同じように動く気はする。
前提
- 64bitマシンであること
- cygwinはインストールされていること。
- 他にもgitやopenssh等使えること。
virtualboxのインストール
以下からバイナリDLしてインストール
ハマりどころ
BIOSの設定で仮想化機能を有効になってることを確認する。
これは「vagrant up」で起動起動できない時にgui起動するとエラーメッセージが表示されるのでわかる。
vagrantのインストール
以下からバイナリDLしてインストール
プラグインのインストール
vagrant-winnfsd プラグインのインストール
vagrant plugin install vagrant-winnfsd
参考:http://qiita.com/RichardImaokaJP/items/c612a5a19eeb4f341519
vagrant-vbguest プラグインのインストール
vagrant plugin install vagrant-vbguest
参考:http://weblabo.oscasierra.net/vagrant-vbguest-plugin-1/
vagrant-proxyconf プラグインのインストール
※proxyな環境な場合のみ
vagrant plugin install vagrant-proxyconf
参考:http://qiita.com/shouta-dev/items/7b8a462504f7d6c91e99
コマンドメモ
# boxの一覧
vagrant box list
# boxの削除
vagrant box remove BOX_NAME
# 起動
vagrunt up
# 停止
vagrunt halt
vagrantでcoreosを立ち上げる
coreosのvagrantfileを持ってくる
注意)ホームディレクトリにvagrantディレクトリを作成して実行
# ホームディレクトリに移動
cd
# 作業フォルダの作成(名前はなんでも良い)
mkdir vagrant
# 作業フォルダに移動
cd vagrunt
# 以下は共有フォルダの設定とproxyの設定をいれたバージョン。
# 必要なければfork元から取得してください。 https://github.com/coreos/coreos-vagrant
git clone https://github.com/astrsk-hori/coreos-vagrant.git
# 上記を実行すると`coreos-vagrant`というディレクトリが作成されている。
vagrant起動
# 先程gitでcloneしたディレクトリに移動。
cd coreos-vagrant
pwd
# 以下のような感じになるはず
# /home/HOGE/vagrant/coreos-vagrant
# このディレクトリの2つ上の階層(/home/HOGE)が共有ディレクトリになります。
# 起動
vagrant up
これで起動します。最初のみ時間がかかります。
※起動しない場合はエラーメッセージでググったり、guiをtrueにして起動するとエラーがわかりやすいかも。
仮想環境にログイン
vagrant ssh
上記コマンドでcoreosにログインできます。
またホームディレクトリのshare
ディレクトリがPCのホームディレクトリとリンクしてます。
Proxy環境の場合
予め環境変数にセットされてれば今回使用してるVagrantfileで読み込まれます。
こんな感じ
http_proxy=http://xxx.xxx.xxx.xxx:8080
https_proxy=http://xxx.xxx.xxx.xxx:8080
詳細はVagrantfile
を見てください。
vagrant-proxyconfを使わない場合
参考 coreosでproxy
http://qiita.com/kawasima/items/6cdb79913b5dfffd1a31
coreosの環境整備
.bashrc
を変更しようと思ったらシンボリックリンクでしかも読み込み専用になってるのでシンボリックリンクを削除して元の.bashrc
をコピーして変更すると良い。
dockerコマンドとか打つくらいだと思うのでaliasさえ設定できれば良い気がする。
dockerでcentos7を起動する(2015/09/29時点)。
docker pull centos
docker run --privileged --name myCentos7 -v /home/core:/share_dir -d centos /sbin/init
centosコンテナに接続するにはdocker exec -it 6ba5c277ddbe /bin/bash
でできる。
--privileged
を指定した場合は「docker attach」では接続できない。
ちなみにコンテナID(6ba5c277ddbe)はdocker ps
で確認できます。
-v
オプションでホストとゲストのディレクトリをマウントできる。
ここではcoreosのホームディレクトリをcentosの/share_dir
にマウントしてる。
今回の記事の通りに作成してればPCのホームディレクトリにも/share_dir
からアクセスできる。
とりあえず今回はここまで。