LoginSignup
10
10

More than 5 years have passed since last update.

windowsでvagrant & dockerそしてproxy対応してCoreOsからCentOS7コンテナに接続

Posted at

目的

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からアクセスできる。

とりあえず今回はここまで。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10