はじめに
GitLabをできるだけ手軽に導入したいと思い、Dockerを使った導入方法を試してみることにした。
しかし、自分のDockerに関する知識が不足しており、はまったところがあったので、メモがてらに投稿。
エラー内容
公式の手順どおり、
$ wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml
$ docker-compose up
してみると、
gitlab_1 | chmod: changing permissions of '/home/git/data': Operation not permitted
こんなエラーが何個も出ている。 …という状況。
解決方法
まず、前提として、/home/git/data
はコンテナ側のパスであり、これに結び付けられているホスト側でのパスは/srv/docker/gitlab
である。(公式がこのように指定している)
が、/srv
ディレクトリ配下を編集する権限がないために、 Operation not permitted
と言われているわけである。
したがって、適切な権限を付与すれば動くはず。
だがしかし、めんどくさがりな僕は
/srv
配下ではなく、/Users/(ユーザ名)
配下で作業することで、今回のエラーを回避。
つまり、docker-compose.yml
を以下のとおり3箇所修正しました。
(今回はテスト的に導入してみたため、Desktop
配下に設置しています。)
version: '2'
services:
redis:
restart: always
image: sameersbn/redis:4.0.9-1
command:
- --loglevel warning
volumes:
# - /srv/docker/gitlab/redis:/var/lib/redis:Z # 本来左記のようになっているのを
- /Users/(ユーザ名)/Desktop/gitlab/redis:/var/lib/redis:Z # Users配下に変更
postgresql:
restart: always
image: sameersbn/postgresql:10
volumes:
# - /srv/docker/gitlab/postgresql:/var/lib/postgresql:Z #ここも同様
- /Users/(ユーザ名)/Desktop/gitlab/postgresql:/var/lib/postgresql:Z
environment:
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- DB_EXTENSION=pg_trgm
gitlab:
restart: always
image: sameersbn/gitlab:11.1.4
depends_on:
- redis
- postgresql
ports:
- "10080:80"
- "10022:22"
volumes:
# - /srv/docker/gitlab/gitlab:/home/git/data:Z # ここも同様
- /Users/(ユーザ名)/gitlab/gitlab:/home/git/data:Z
environment:
- DEBUG=false
~以下省略~
結果
はい、表示されました😊
追記(2018/11/18)
個人ブログ始めました。
よかったらこちらもどうぞ!