環境
Windows 7 Professional
Docker Toolbox 1.12
GitBucket 4.4
PCに割り当てられた社内LANのIPアドレスは 123.45.67.89 ということにしておく。
参考
Docker ドキュメント日本語化プロジェクト
Docker で GitBucket を立てて遊んでみた
Docker初心者が遭遇するエラーをまとめてみた
手順
色々
Hyper-V を無効化
コマンドラインから以下を実行し再起動。
bcdedit /set hypervisorlaunchtype off
VT-X を有効化
bios の設定からそれっぽい所を有効にする。
HPのPCの場合はこのあたりが参考になった。
1.起動時にF10を押してBIOSメニューに移動
2.セキュリティ>システムのセキュリティからそれっぽい所を有効にする。
Docker Toolbox をインストール
このあたりを参考にインストールする。
インストール後、「Docker Quickstart Terminal」を起動し、以下のコマンドを実行。
docker-machine create -d virtualbox \
--engine-env HTTP_PROXY=http://example.com:8080 \
--engine-env HTTPS_PROXY=https://example.com:8080 gitbucket
社内の場合、プロキシを通さないと通信ができないため、
環境変数HTTP_PROXY、HTTPS_PROXYを設定したdocker-machine(名前がgitbucket)を作成。
ついでに証明書の再作成を行う。
docker-machine regenerate-certs gitbucket
終了したら Docker ホストの再起動
docker-machine restart gitbucket
再起動したら、docker-machineのアクティブを変更するために以下のコマンドを実行。
docker-machine のアクティブは 環境変数 $DOCKER_HOST の値によって決まるらしい。
eval $(docker-machine env gitbucket)
一応、通信ができるか確認するために whalesay を実行してみる。
docker run docker/whalesay cowsay boo
----
中略
----
_____
< boo >
-----
\
\
\
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
クジラが喋ればOK。
Dockerfile 作成
検索するとたくさん出てくる。
このあたりを参考にさせてもらい作成。
FROM java:8-jre
MAINTAINER hogehoge
ADD https://github.com/gitbucket/gitbucket/releases/download/4.4/gitbucket.war /opt/gitbucket.war
RUN ln -s /gitbucket /root/.gitbucket
VOLUME /gitbucket
# Port for web page
EXPOSE 8080
CMD ["java", "-jar", "/opt/gitbucket.war"]
ひとまず、 D:\work\gitbucket に配置。
Docker Terminalのコマンドライン上で work/gitbucket へ移動する。
cd /d d:\work\gitbucket
Docker イメージ作成&実行
docker build -t gitbucket ./
成功するとイメージができあがるので、実行する。
docker run -d -p 8080:8080 gitbucket
反応が無ければ成功しているハズ。
Virtual Box のポートフォワード設定
1.「Oracle VM Virtual Box」を起動。
2.gitbucket を右クリックして「設定」を選択。
3.ネットワーク > アダプター1 > 高度 > ポートフォワーディング を選択。
4.既にsshの設定は追加されているので、httpの設定を以下のように追加
名前 | プロトコル | ホストIP | ホストポート | ゲストIP | ゲストポート |
---|---|---|---|---|---|
http | TCP | 123.45.67.89 | 8080 | 8080 | |
ssh | TCP | 127.0.0.1 | 51290 | 22 |
完了
http://123.45.67.89:8080/ にアクセスして以下のような画面が出れば完了。
Username:root/Password:root でログインできる。