amegonの雑なブログ

日常的なものから技術的なものまでメモの雑記

Miracle Linux 上の docker で Redmine を起動

目的

別の場所で docker で稼働している Redmine 環境を移行するための受け皿を作成したい。
そのためにまずは同じ環境を作成してみる。

実行ディレクトリを作成して移動

実行コマンド

sudo mkdir /usr/local/bin/redmine
cd /usr/local/bin/redmine/
[root@test244 ~]# sudo mkdir /usr/local/bin/redmine
[root@test244 ~]#
[root@test244 ~]# cd /usr/local/bin/redmine/
[root@test244 redmine]# ls -al
合計 8
drwxr-xr-x. 2 root root 4096 10月 10 22:03 .
drwxr-xr-x. 4 root root 4096 10月 10 22:03 ..
[root@test244 redmine]#

docker-compose.yml を作成

実行コマンド

sudo vi /usr/local/bin/redmine/docker-compose.yml

内容

version: '3.7'

services:
    redmine:
        container_name: redmine-4.0.4
        image: redmine:4.0.4-alpine
        restart: always
        ports:
            - 8080:3000
        volumes:
            - ./data/plugins:/usr/src/redmine/plugins
            - ./data/themes:/usr/src/redmine/public/themes
        environment:
            REDMINE_DB_MYSQL: redmine-db-4.0.4
            REDMINE_DB_PASSWORD: redmine

    redmine-db-4.0.4:
        image: mariadb:10.8.2
        container_name: redmine-db-4.0.4
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: redmine
            MYSQL_DATABASE: redmine
        volumes:
            - ./data/db:/var/lib/mysql
        command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci

実行ログ

[root@test244 redmine]# cat /usr/local/bin/redmine/docker-compose.yml
version: '3.7'

services:
    redmine:
        container_name: redmine-4.0.4
        image: redmine:4.0.4-alpine
        restart: always
        ports:
            - 8080:3000
        volumes:
            - ./data/plugins:/usr/src/redmine/plugins
            - ./data/themes:/usr/src/redmine/public/themes
        environment:
            REDMINE_DB_MYSQL: redmine-db-4.0.4
            REDMINE_DB_PASSWORD: redmine

    redmine-db-4.0.4:
        image: mariadb:10.8.2
        container_name: redmine-db-4.0.4
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: redmine
            MYSQL_DATABASE: redmine
        volumes:
            - ./data/db:/var/lib/mysql
        command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci

[root@test244 redmine]#

起動

実行コマンド

docker-compose up -d

実行ログ

[root@test244 redmine]# docker-compose up -d
[+] Running 25/25
 ? redmine-db-4.0.4 11 layers [???????????]      0B/0B      Pulled        35.8s
   ? 08c01a0ec47e Pull complete                                            5.5s
   ? a2bcb14c13a1 Pull complete                                            0.8s
   ? 29c56760f879 Pull complete                                            1.3s
   ? a95000a218fc Pull complete                                            2.0s
   ? a765d76e68d9 Pull complete                                            2.0s
   ? c6945738f085 Pull complete                                            3.0s
   ? 62787b7c58c5 Pull complete                                            2.7s
   ? 85ee39c28fa6 Pull complete                                            3.4s
   ? bee45abd643a Pull complete                                           17.8s
   ? b0f20114a997 Pull complete                                            4.2s
   ? f59b42092777 Pull complete                                            4.9s
 ? redmine 12 layers [????????????]      0B/0B      Pulled                37.7s
   ? 9d48c3bd43c5 Pull complete                                            6.9s
   ? 9ce9598067e7 Pull complete                                            6.5s
   ? 278f4c997324 Pull complete                                            7.3s
   ? 867dd521f6d0 Pull complete                                           12.1s
   ? c69cba5b7867 Pull complete                                            8.3s
   ? f8e706cde8a6 Pull complete                                            9.2s
   ? fd530ab1d01f Pull complete                                           19.9s
   ? 5fbab007b5e2 Pull complete                                           12.9s
   ? 7568bba59c7a Pull complete                                           18.6s
   ? c9b656c27197 Pull complete                                           19.5s
   ? e6c6e76c252d Pull complete                                           29.6s
   ? ee6f52a8cbac Pull complete                                           24.7s
[+] Building 0.0s (0/0)                                          docker:default
[+] Running 3/3
 ? Network redmine_default     Created                                     0.5s
 ? Container redmine-db-4.0.4  Started                                     0.2s
 ? Container redmine-4.0.4     Started                                     0.2s
[root@test244 redmine]#

動作状況確認

CLI コマンド

実行コマンド

docker ps -a

実行ログ

[root@test244 redmine]# docker ps -a
CONTAINER ID   IMAGE                  COMMAND                   CREATED          STATUS          PORTS                                       NAMES
cf966516d36e   redmine:4.0.4-alpine   "/docker-entrypoint.…"   16 seconds ago   Up 3 seconds    0.0.0.0:8080->3000/tcp, :::8080->3000/tcp   redmine-4.0.4
2785c742e89d   mariadb:10.8.2         "docker-entrypoint.s…"   16 seconds ago   Up 15 seconds   3306/tcp                                    redmine-db-4.0.4
[root@test244 redmine]#

ブラウザで表示確認

表示できた。

参考

初期は以下の docker-compose.yml を使用していたが、コンテナが起動できなかった

docker-compose.yml

version: '3.7'

services:
    redmine:
        container_name: redmine-4.0.4
        image: redmine:4.0.4-alpine
        restart: always
        ports:
            - 8080:3000
        volumes:
            - ./data/plugins:/usr/src/redmine/plugins
            - ./data/themes:/usr/src/redmine/public/themes
        environment:
            REDMINE_DB_MYSQL: redmine-db-4.0.4
            REDMINE_DB_PASSWORD: redmine

    redmine-db-4.0.4:
        image: mariadb
        container_name: redmine-db-4.0.4
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: redmine
            MYSQL_DATABASE: redmine
        volumes:
            - ./data/db:/var/lib/mysql
        command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci

docker-compose up -d コマンド実行後コンテナのステータスを確認。Restarting が実行され続けていた。。

[root@test244 redmine]# docker ps -a
CONTAINER ID   IMAGE                  COMMAND                   CREATED              STATUS                          PORTS     NAMES
0421de545baa   mariadb                "docker-entrypoint.s…"   About a minute ago   Restarting (1) 4 seconds ago              redmine-db-4.0.4
2f85c9221a56   redmine:4.0.4-alpine   "/docker-entrypoint.…"   About a minute ago   Restarting (1) 10 seconds ago             redmine-4.0.4
[root@test244 redmine]#

docker-compose logs コマンドでログを確認したところ以下のログを確認。

redmine-db-4.0.4  | 2023-10-10 01:54:38+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.1.2+maria~ubu2204 started.
redmine-db-4.0.4  | 2023-10-10 01:54:38+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config

上記のエラーログでググったところ以下の情報を確認。
2022年5月時点の docker 最新版で同様の事象が確認されていた。

https://stackoverflow.com/questions/72410663/error-starting-mariadb-on-docker-compose-build

情報によると image: mariadb でこの事象が発生するようで、対応としては image: mariadb:10.8.2 とすればとのこと。
そこで docker-compose.yml の redmine-db-4.0.4 側の image 設定を変更したところ正常に起動できた。