Redmine(Docker)

Table of Content

DockerでRedmine(+MariaDB)を構築

リポジトリの追加

# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

リポジトリの一覧に「docker-ce-stable」が登録されているか確認

# dnf repolist

競合するパッケージがインストールされているかの確認

# rpm -qa | grep -e "podman" -e "buildah"

存在するときは、競合するパッケージをアンインストール

# dnf clean packages
# dnf remove podman buildah

Dockerのインストール

# dnf install docker-ce docker-ce-cli containerd.io

有効化+常駐化+状態確認

# systemctl enable --now docker
# systemctl start docker
# systemctl status docker

Dockerのバージョン確認

# docker --version
Docker version 20.10.14, build a224086

Dockerを一般ユーザで使えるようにする[未実施]

# sudo groupadd docker
groupadd: グループ 'docker' は既に存在します
# sudo usermod -aG docker hoge
# newgrp docker

Docker Composeインストール

# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   664  100   664    0     0   1829      0 --:--:-- --:--:-- --:--:--  1829
100 12.1M  100 12.1M    0     0  7373k      0  0:00:01  0:00:01 --:--:-- 10.8M
# chmod +x /usr/local/bin/docker-compose
# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# docker-compose --version
docker-compose version 1.29.2, build 5becea4c

docker-compose.ymlを作成

# mkdir /usr/local/redmine
# cd /usr/local/redmine
# vi docker-compose.yml
------------------------------------------
version: '3.8'
services:
  redmine:
    image: redmine:4.2.4 ←安定していると思われるバージョンを指定
    container_name: redmine
    ports:
      - 3000:3000
    volumes:
      - ./data/plugins:/usr/src/redmine/plugins
      - ./data/themes:/usr/src/redmine/public/themes
    environment:
      REDMINE_DB_MYSQL: redmine-db
      REDMINE_DB_PASSWORD: redmine
    depends_on:
      - redmine-db
    restart: always

  redmine-db:
    image: mariadb
    container_name: redmine-db
    ports:
      - 3307:3306  ←ホストですでにMySQLが稼働しているので競合を避けるためにポートを変更
    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
    restart: always
------------------------------------------

Redmineのコンテナを起動

# cd /usr/local/redmine
# docker-compose up -d

Redmineの画面

file

Redmineのコンテナを確認

# docker container ls
CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS         PORTS                                       NAMES
9529fd546260   redmine:4.2.4   "/docker-entrypoint.…"   6 minutes ago   Up 6 minutes   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   redmine
aea269645a5e   mariadb         "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes   0.0.0.0:3307->3306/tcp, :::3307->3306/tcp   redmine-db
# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
mariadb      latest    daf0f023c28d   29 hours ago   414MB
redmine      4.2.4     1b9992f60aa3   6 weeks ago    527MB

コンテナ停止

# docker container stop redmine
# docker container stop redmine-db

コンテナ削除

# docker container rm redmine
# docker container rm redmine-db

image削除

# docker image rm redmine
# docker image rm mariadb

ファイアウォールの問題

dockerは、iptablesを採用していて、firewalldをまだ正式採用してないと思われるので、firewalldをメインに使用している自分の環境では設定が面倒そうなので、使用するのを今回は断念した。(^^;
file

コメントを残す

メールアドレスが公開されることはありません。