しまてく

学んだ技術を書きためるブログ

Mac上のVM(ubuntu)でdockerを使ってGitLabを立ててみる。

VMvagrant使って立ててみる。

ここのところ猫も杓子もvagrantかdockerですよ。便利ですからね。
ということで今回はvagrantubuntuを起動させてその上でdockerを使いたいと思います。*1

まずはvagrantのインストール

http://qiita.com/moomoo-ya/items/30f9ffdb7dd34caf9ec0

brew cask install virtualbox
brew cask install vagrant
brew cask install vagrant-manager

超簡単です!

vagrantubuntuを動かす

ubuntuのイメージを持ってくる

http://www.vagrantbox.es/
ここから欲しいものを選びます。

今回は ubuntu 15.04 をチョイスしました。

vagrant box add ubuntu15_04 https://github.com/kraksoft/vagrant-box-ubuntu/releases/download/15.04/ubuntu-15.04-amd64.box
VM用のディレクトリ作成する
mkdir gitlab_ubuntu15_04
cd gitlab_ubuntu15_04
ダウンロードしたイメージでVMを作成、起動する
vagrant init ubuntu15_04
vagrant up

停止したいときは「vagrant halt」、破棄する時は「vagrant destroy」ですね。

今回はプライベートIPアドレスで動かす設定を入れる

vagrant initでできたVagrantファイルの中の以下の行のコメントアウトを外します。

config.vm.network "private_network", ip: "192.168.33.10"
設定を変えたら再読み込みをする
vagrant reload

おや、なんか怒られた。

Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant

The error output from the last command was:

stdin: is not a tty
mount: unknown filesystem type 'vboxsf'
ぐぐったところVirtualBoxのGuest Additionが合ってないらしい

http://www.task-notes.com/entry/20150714/1436842800
ここを参考にvagrant pluginを入れてみます。

vagrant plugin install vagrant-vbguest
vagrant reload

今度は怒られないのでオッケー。

docker / docker-composeをインストールする

vagrant ssh

で作ったインスタンスに入ります。

https://docs.docker.com/compose/install/
に従ってインストールをしていきます。 (ここの過程は省略)

vagrant@vagrant-ubuntu-trusty:~$ docker --version
Docker version 1.9.1, build a34a1d5
vagrant@vagrant-ubuntu-trusty:~$ docker-compose --version
docker-compose version: 1.5.1

ちゃんとインストールできました。

dokcer-composeでGitLabをインストール

docker-composeを使って必要なコンテナを一気に構築

http://codeout.hatenablog.com/entry/2015/08/21/012706
このエントリを参考にしてインストール。

docker-composeは関連するコンテナを一気に起動することができる便利なものです。
これがないと、このコンテナを起動してからこっちを起動して、、、というような面倒があります。

(ubuntu上で)

$ curl https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml > gitlab.yml
$ docker-compose -f gitlab.yml up -d

「-d」を付けてバックグラウンドで動作させます。

動いているか確認

http://192.168.33.10:10080/
にアクセス。

無事起動成功したようです。

初期アカウントは以下のものです。

ID:root
PASS:5iveL!fe

ログイン後、別途ユーザーを作り、レポジトリ作成、clone/push/pullちゃんとできました。

*1: docker-machineを使ってdocker使うのもあるけど結局は同じなので今回はvagrantで。