labunix's blog

labunixのラボUnix

dockerでredmineを使ってみる。

■dockerでredmineを使ってみる。

$ docker --version
Docker version 19.03.8, build afacb8b7f0

$ docker search redmine -f is-official=true
NAME                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
redmine             Redmine is a flexible project management web…   958                 [OK]                

■デモサイトで十分ならそれでも良い。

 RedMica 1.2 (Redmine互換) デモサイト
 https://my.redmine.jp/demo/

■redmineのdocker imageが、どのバージョンが用意されているかは以下で確認する。
 v2ではユーザ名は公式なのでlibraryとして取得する。

$ curl -s https://registry.hub.docker.com/v2/repositories/library/redmine/tags/ | jq -r '.results[].name'
latest
passenger
alpine
4.1.1-passenger
4.1.1-alpine
4.1.1
4.1-passenger
4.1-alpine
4.1
4.0.7-passenger

■v2のAPIではページャで分割されているけど、次ページ以降については今回無視する。

$ curl -s https://registry.hub.docker.com/v2/repositories/library/redmine/tags/ | jq -r '.next'
https://registry.hub.docker.com/v2/repositories/library/redmine/tags/?page=2

■v1のAPIでは153も出てくる。

$ curl -s https://registry.hub.docker.com/v1/repositories/redmine/tags | jq -r '.[].name' | wc -l
153

■各1文字目をメジャーバージョンといてキーにした、最新マイナーバージョンの取得

$ curl -s https://registry.hub.docker.com/v1/repositories/redmine/tags | jq -r '.[].name' | \
   sort -V | awk '{a[substr($0,1,1)]=$0}END{for(n in a){gsub("-.*","",a[n]);print a[n] | "sort -uV"}}'
2.6.10
3.4.13
4.1.1
alpine
latest
passenger

■各1文字目をメジャーバージョンといてキーにした、最古マイナーバージョンの取得

$ curl -s https://registry.hub.docker.com/v1/repositories/redmine/tags | jq -r '.[].name' | \
    sort -Vr | awk '/[0-9]*\.[0-9]*\.[0-9]*/{a[substr($0,1,1)]=$0}END{for(n in a){gsub("-.*","",a[n]);print a[n] | "sort -uV"}}'
2.6.6
3.0.4
4.0.0

■公式ドキュメントにあるように、余計なことは考えずにSQLite3で起動する。

 Run Redmine with SQLite3
 https://hub.docker.com/_/redmine

$ docker run -d -p 8000:3000 --name myredmine redmine
Unable to find image 'redmine:latest' locally
latest: Pulling from library/redmine
706ee5d0a6b5: Pull complete 
ea59d56e7039: Pull complete 
4560834c2f27: Pull complete 
45c9a910d582: Pull complete 
4d25d9583909: Pull complete 
d734a4df762c: Pull complete 
a863c50b5067: Pull complete 
309e2e0b1465: Pull complete 
a5d08354112a: Pull complete 
e2f8ed94851d: Pull complete 
ecce8931db9b: Pull complete 
4962716fe1b6: Pull complete 
3c930c45589e: Pull complete 
Digest: sha256:1c3fad412594bc60804e9a30392942173192b56e2fe80a2a2165f385bb816262
Status: Downloaded newer image for redmine:latest
7e5dd171383e7d17bb11667569d3fe0b3b96f744d40953694bbbbb4c341efeef

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
7e5dd171383e        redmine             "/docker-entrypoint.…"   About a minute ago   Up 43 seconds       0.0.0.0:8000->3000/tcp   myredmine

■ブラウザアクセス(初期ユーザ名/パスワードは、admin/admin

$ chromium http://127.0.0.1:8000/

■Redmineのコンテナを停止

$ docker stop myredmine

■Redmineのコンテナを停止状態から起動する

$ docker start myredmine