やろうとした理由
Redmineに対する知識が足りないなーと思ったから。
業務で使っているけれどいつも使う側なので、提供する側のことも覚えておかないとこれから困りそう。
MacでDockerコンテナ上にRedmineを構築するよ
本当は、自分のサーバに立てたかったんだけど・・・断念。
他の人も使えるならEC2上に立てて提供するとか考えたんだけど、現状私しかいないし、私もそんなにガッツリ使い込むようなこともなさそうなので。
簡単な実験と動作確認であれば、自分のMacにインストールすれば良いかな、と。
本当にMacにRedmineを直接入れようとしたけれど、Dockerでいいんじゃないか?ついでにdockerも勉強しなきゃ、ということでDockerを使うことにしました。
Dockerをインストールしておくこと
MacにはDocker Desktopをインストールしておきました。
この構築時点の状態は次の通り。
DockerでRedmineを立ち上げる・・・前の事前確認
1. Macのバージョンを確認しておく
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.5
BuildVersion: 19F101
2. Dockerのバージョンを確認しておく
$ docker --version
Docker version 19.03.8, build afacb8b
3. Dockerイメージを確認しておく
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hybridcloudibm/wexdg latest b482197b4310 2 years ago 5.83GB
4. 起動中のDockerコンテナを確認しておく
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c522c16cdb88 hybridcloudibm/wexdg "/opt/ibm/wex/sbin/e…" 22 months ago Exited (255) 20 months ago 8000/tcp, 0.0.0.0:443->443/tcp, 9080/tcp wex-d-g
5. docker-compose.ymlファイルを作成しておく
docker-composeするために必要なので、用意しておきましょう。
version: '3.8'
services:
redmine:
container_name: redmine
image: redmine
restart: always
ports:
- 3000:3000
volumes:
- ./Redmine/plugins:/usr/src/redmine/plugins
- ./Redmine/themes:/usr/src/redmine/public/themes
environment:
REDMINE_DB_MYSQL: redmine-db
REDMINE_DB_PASSWORD: redmine
redmine-db:
image: mariadb
container_name: redmine-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: redmine
MYSQL_DATABASE: redmine
volumes:
- ./db:/var/lib/mysql
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
DockerでRedmineを立ち上げる(docker-compose)
1. docker-composeコマンドを実行する
一度、docker-compose.ymlの書き方がまずくて失敗しました。
$ docker-compose up -d
Pulling redmine (redmine:)...
latest: Pulling from library/redmine
6ec8c9369e08: Pull complete
c307964a7468: Pull complete
fd2d286493eb: Pull complete
cf773e09df35: Pull complete
f41f225850f3: Pull complete
f5fa7c9620c6: Pull complete
d8bca7298389: Pull complete
80af857119c9: Pull complete
4c1c6ad5d293: Pull complete
11ed9a8222ad: Pull complete
d89a2de0559e: Pull complete
fa1eb2d25805: Pull complete
25bd4bebd31d: Pull complete
Digest: sha256:d2b5a7acbf2ecbc7f5f7078cd3479237553f921ef636e8112bb7430b32ad0222
Status: Downloaded newer image for redmine:latest
Pulling redmine-db (mariadb:)...
latest: Pulling from library/mariadb
3ff22d22a855: Pull complete
e7cb79d19722: Pull complete
323d0d660b6a: Pull complete
b7f616834fd0: Pull complete
78ed0160f03e: Pull complete
a122e9306ac4: Pull complete
673e89352b19: Pull complete
caf1e694359b: Pull complete
04f5e4f6ead3: Pull complete
a41772aadb3d: Pull complete
c3811aa2fa0a: Pull complete
655ad574d3c7: Pull complete
90ae536d75f0: Pull complete
Digest: sha256:812d3a450addcfe416420c72311798f3f3109a11d9677716dc631c429221880c
Status: Downloaded newer image for mariadb:latest
Creating redmine ... done
Creating redmine-db ... done
2. dockerイメージを確認する
redmineとmariadbが追加されていることが確認できます。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mariadb latest 8075b7694a2d 15 hours ago 407MB
redmine latest 809721a71330 2 days ago 544MB
hybridcloudibm/wexdg latest b482197b4310 2 years ago 5.83GB
3. 起動中のDockerコンテナを確認する
redmineとmariadbが起動(STATUSでUpになっている)していることが確認できます。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e9c787057ae4 redmine "/docker-entrypoint.…" 25 seconds ago Up 23 seconds 0.0.0.0:3000->3000/tcp redmine
8619aa4a4c36 mariadb "docker-entrypoint.s…" 25 seconds ago Up 23 seconds 3306/tcp redmine-db
c522c16cdb88 hybridcloudibm/wexdg "/opt/ibm/wex/sbin/e…" 22 months ago Exited (255) 20 months ago 8000/tcp, 0.0.0.0:443->443/tcp, 9080/tcp wex-d-g
4. ブラウザで起動したRedmineを確認する
http://localhost:3000/ で開くはず。
開かなかったら、ここまでの何かが悪い。
これで本来やりたかったことができる・・・!
Redmineへのログインは admin/admin です。
ログインしたらパスワード変更を求められます。
やってみた感想
本来やりたかったRedmine以前のDocker周りで苦労しました。
Dockerを全然覚えていないんだな、ということを再認識。
使いこなせると本当に便利だと思うんだけれど・・・コンテナも今や「できて当たり前」なので、ちゃんと勉強しなきゃ。