GitBucketのサーバをdockerで作成した時のメモです.docker上のコンテナで作成したリポジトリ情報が,コンテナを破棄した時に同時に消滅してしまうので,dockerのデータボリューム機能を用いて永続化をしました.
またdockerのサーバの引っ越しのたびに,コマンドを打ち直すのも面倒なので,docker-composeを利用して,簡略化しました.
ファイル構成は以下の通り.
.
|-gitbucket/
| '-Dockerfile
'-docker-compose.yml
#GitBucketのDockerfile
FROM tomcat:8-jre8
ADD https://github.com/gitbucket/gitbucket/releases/download/4.14.1/gitbucket.war /opt/gitbucket.war
RUN ln -s /gitbucket /root/.gitbucket
VOLUME ./gitbucket/gitbucket-data:/gitbucket
EXPOSE 8080 29418
CMD ["java", "-jar", "/opt/gitbucket.war"]
#docker-compose.ymlの設定
version: '2'
services:
gitbucket:
image: gitbucket:0.1
ports:
- 8080:8080
- 29418:29418
volumes:
- ./gitbucket/gitbucket-data:/gitbucket
restart: always
./docker-compose.yml
内のvolume機能で,コンテナ内の/gitbucket
のデータをローカルの./gitbucket/gibucket-data
で共有する.
またrestart:always
とすることで,OS再起動時に,コンテナも自動的に再起動するようにできるので必要があれば記述する.
#コンテナの起動
コンテナの起動は以下のコマンドで一発.
$ docker-compose up
起動するとgitbucket
ディレクトリ内に,リポジトリやアカウント情報を持ったgitbucket-data
フォルダが生成される.
.
|-gitbucket/
| |-Dockerfile
| '-gitbucket-data/
'-docker-compose.yml
http://localhost:8080 にアクセスして以下の画面が表示されれば成功.
初期のユーザ名とパスワードは両方ともroot
#参考
https://qiita.com/suzukihi724/items/7859724c9a0e44bf1730
https://qiita.com/eijenson/items/25b35916afa38cdf9cea