| 2015/03/21更新:ベースのBOXファイルを変更しました。
VagrantでCentOS7上のDockerを動かします。
BOXファイル
CentOS7 64bitのBOXファイルをダウンロードします。
refs: http://packages.vstone.eu/vagrant-boxes/boxes/
バージョンとディスクサイズはこんな感じです。rubyとpuppetも入っています。
# uname -a
Linux centos7-64bit.vagrantup.com 3.10.0-123.4.2.el7.x86_64 #1 SMP Mon Jun 30 16:09:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos_centos7--64bit-root 40430856 1358876 36995104 4% /
起動します。
vagrant box add centos7 centos-7.x-64bit-puppet-3.x-vbox.4.3.14-1.box
vagrant init centos7
vagrant up
起動に失敗します。USBドライバで失敗しているようです。
Oracle VM VirtualBoxマネージャを起動し、対象の仮想マシンのUSBを無効にします。
Vagrantfileを編集する
IPアドレスを設定します。(ご自由に)
config.vm.network "private_network", ip: "192.168.33.10"
SMBを設定します。(CentOS7ではVirtualBoxの共有フォルダを使うのにトラブルのでSMBを使います)
config.vm.synced_folder ".", "/vagrant_smb", type: "smb"
メモリを2Gにします。(ご自由に)
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "1"]
end
必要ならproxyを設定します。vagrant-proxyconfプラグインを入れておきましょう。
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "http://xxxx/"
config.proxy.https = "http://xxxx/"
config.proxy.no_proxy = "xxxx"
end
初期設定
管理者として実行したGit Bashからvagrant upで起動して、vagrant sshやteratermでログインします。
(refs: http://qiita.com/yhiranoo/items/1000ad7972b101199f0f)
update & docker & fabric
以下をコピペします。
yum -y update
yum install -y docker
systemctl enable docker
systemctl start docker
yum -y install python-devel
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install fabric
サービスとして登録されているかどうかは、以下で見られます。
systemctl list-unit-files
おまけ:JDK8 & maven & sphinx
rpm -ivh jdk-8u31-linux-x64.rpm
tar xvfz apache-maven-3.2.5-bin.tar.gz
mv apache-maven-3.2.5 /opt/
echo 'export M3_HOME=/opt/apache-maven-3.2.5
M3=$M3_HOME/bin
export PATH=$M3:$PATH
' >> ~/.bash_profile
source ~/.bash_profile
easy_install sphinx
BOXファイルにする
作成した環境をbox化しておきます。
(refs: http://success.tracpath.com/blog/2013/12/18/vagrant%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0box%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8%E9%85%8D%E5%B8%83/)
vagrant halt
vagrant package --base `cat .vagrant/machines/default/virtualbox/id` --output centos7docker.box
SMBのための設定
SMBを使っていると、コンソールが応答しない現象が発生することがあります。
それを防ぐために、以下を設定します。
それでも発生した場合には、vagrant reloadします。
管理者モードのGit Bashで以下を実行します。
net config server /autodisconnect:-1
イーサネットのネットワークドライバの詳細設定で、"Receive Side Scaling"を"Disabled"にします。
refs: http://helpful-info.mkstyle.net/etc/windows7-network.html