例によって自分用のメモだから間違ってるかもしれん…
Dockerfile
FROM base/archlinux # upgrade packages RUN echo "Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch" >> /etc/pacman.d/mirrorlist RUN echo "Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch" >> /etc/pacman.d/mirrorlist RUN echo "Server = https://www.archlinux.org/packages/$repo/$arch/" >> /etc/pacman.d/mirrorlist RUN pacman -Syy --noconfirm RUN pacman -S --noconfirm archlinux-keyring RUN pacman -Syu --noconfirm RUN pacman-db-upgrade RUN pacman -S tomcat-native --noconfirm RUN pacman -S jdk7-openjdk --noconfirm RUN pacman -S tomcat8 --noconfirm RUN pacman -S wget --noconfirm RUN wget -P /var/lib/tomcat8/webapps https://github.com/takezoe/gitbucket/releases/download/3.4/gitbucket.war EXPOSE 8080 CMD ["/usr/share/tomcat8/bin/catalina.sh", "run"]
ビルド
[bash]
docker build –rm -t mattyan/gitbucket .
[/bash]
実行
[bash]
docker run –rm -v `pwd`/repositories/:/root/.gitbucket/ -ti -p 8080:8080 -p 10020:10020 mattyan/bitbucket
[/bash]
(rootで実行してるから)/root/.gitbucket以下にレポジトリとか設定とか入ってるみたいだから、それをボリュームでホストに拾いだして保存。
ポート8080はtomcatの接続用、10020はgitbucketのリポジトリにsshで接続するためのポート。
ただし、sshはキーの設定をしてないから、まだcloneも確認してない。
…前々からなんとなく思ってたけど、このbase/archlinuxって普通のarchlinuxじゃない気がする…
/etc/pacman.d/mirrorlistにほとんど何もかかれてないし、そのままだとpacman -Syuすら失敗するし…