DockerでBitbucket Serverを動かすときに詰まったのでメモ
環境
- CentOS Linux release 7.2.1511
- Docker version 1.10.3
- Bitbucket Server 4.8.5
データディレクトリのパーミッションでこける
Docker HubにAtlassian公式っぽいBitbucket Seerverのページがあったので、そこに書いてある手順に従ってインストール。最初はデータディレクトリのボリュームのパーミッションの変更を行う。
Set permissions for the data directory so that the runuser can write to it:
$> docker run -u root -v /data/bitbucket:/var/atlassian/application-data/bitbucket atlassian/bitbucket-server chown -R daemon /var/atlassian/application-data/bitbucket
実行したところ、以下の様なエラーが出た。
chown: changing ownership of ‘/var/atlassian/application-data/bitbucket’: Permission denied`
Dockerではホストのディレクトリをコンテナにマウントするとコンテナ上で所有者が1000:1000になるらしいので元のDockerfileをいじったりしてみたが、どうにもうまくいかなかった。ちなみにマウントしたディレクトリの所有者はコンテナ上でbin:bin(uid=2、gid=2)だった。。。
SELinuxのせいだった
いろいろ調べてたらSELinuxが原因ということが判明。SELinuxには何度も手こずらされている。。。
-v
オプションの最後に:z
をつけて、以下にようなコマンドにしたら動作した。
docker run -u root -v /data/bitbucket:/var/atlassian/application-data/bitbucket atlassian/bitbucket-server:z chown -R daemon /var/atlassian/application-data/bitbucket
続けてコンテナを起動。
Start Atlassian Bitbucket Server:
$> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server
http://localhost:7990にアクセスすると無事動作しているのを確認。