OSX上でお手軽chefci環境の再構築めも(整理中)
vagrantは使わない
- Ruby >= 2.0
- Docker >= 1.0(OSX,boot2docker)
- Test-kitchen >= 1.0
- Serverspec
準備(Ruby,Docker)
-
[Ruby] OS X Mavericks (10.9) に Homebrew + rbenv で Ruby をインストールする
http://www.d-wood.com/blog/2014/03/20_5847.html -
はじめてのDocker on Mac OS X
http://dev.classmethod.jp/tool/docker/getting-started-docker-on-osx/
boot2docker + docker
# インストール
brew update
brew install boot2docker docker
# 確認
boot2docker up
boot2docker ip
※virtualboxインストール直後などはhost onlyネットワークが上手く動かず再起動が必要かも
- Public docker images
https://github.com/dotcloud/docker/wiki/Public-docker-images
docker pull centos
docker images
Test-kitchen + Docker
gem install kitchen-docker --no-rdoc --no-ri
kitchen init --driver=kitchen-docker
-
DockerによるChefのCookbooks開発
http://qiita.com/ijikeman/items/dcbb76a54c331d2b6542 -
Mac OS Xでkitchen-docker
http://qiita.com/sawanoboly/items/56b05d6369ad082a9ad9
.kitchen.yml(例)
driver:
name: docker
binary: /usr/local/bin/docker
socket: <%= ENV['DOCKER_HOST'] %>
platforms:
- name: centos-6.4
driver_config:
image: centos:6.4
platform: centos
privileged: true
- test-kitchenのつかいかた
http://qiita.com/sawanoboly/items/9f560bd63ad0712b17ba
kitchen test --destroy=never
kitchen list
kitchen login default-centos-64
Test-kitchen + Serverspec
- 既存のchef cookbookをtest-kitchen対応させていく。
http://qiita.com/futoase/items/3a77a7d86ea896488b6b
おまけ
dockerコンテナ上でulimit変えたい
- kitchen-dockerでulimitのエラーを回避する方法
http://qiita.com/polidog/items/baa659c8f896e6696450
上記の方法がよさそう。下記はscriptで無理矢理変更する例。
docker@boot2docker-/var/lib/boot2docker/bootlocal.sh
#!/bin/sh
grep "ulimit -n 65535" /etc/init.d/docker && exit
sudo sed -i "s#^start() {#start() {\n ulimit -n 65535#g" /etc/init.d/docker
sleep 3
sudo /etc/init.d/docker restart
- docker 1.0, OSX mavericks, part2
http://yukaary.blogspot.jp/2014/06/docker-10-osx-mavericks-part2_3912.html
dockerVMでアレコレする
- Docker: How to Run 'nsinit' in the boot2docker VM
http://mogproject.blogspot.jp/2014/06/docker-how-to-run-in-boot2docker-vm.html