Mac上のVM(ubuntu)でdockerを使ってGitLabを立ててみる。
VMをvagrant使って立ててみる。
ここのところ猫も杓子もvagrantかdockerですよ。便利ですからね。
ということで今回はvagrantでubuntuを起動させてその上でdockerを使いたいと思います。*1
まずはvagrantのインストール
http://qiita.com/moomoo-ya/items/30f9ffdb7dd34caf9ec0
brew cask install virtualbox brew cask install vagrant brew cask install vagrant-manager
超簡単です!
vagrantでubuntuを動かす
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
今回はプライベート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ちゃんとできました。