LoginSignup
2

More than 3 years have passed since last update.

docker-composeでredmine4.0.4を構築してみる

Posted at

構築環境

  • Mac macOS Mojave 10.14.6
  • docker 19.03.2
  • docker-compose 1.24.1

環境構築

1.フォルダ構成

image.png

2.ymlファイルの作成

docker-compose.yml
version: '3.7'

services:

  redmine:
    image: redmine:4.0.4-alpine
    environment:
      TZ: Asia/Tokyo
      REDMINE_DB_POSTGRES: db
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: password
    restart: always
    ports:
      - "8080:3000"
    depends_on:
      - db
    volumes:
      - ./redmine/files:/usr/src/redmine/files

  db:
    image: postgres:12-alpine
    restart: always
    environment:
      TZ: Asia/Tokyo
      REDMINE_DB_DATABASE: redmine
      POSTGRES_USER: redmine
      POSTGRES_PASSWORD: password
    ports:
      - "5432:5432"
    volumes:
      - ./postgresql/data:/var/lib/postgresql/data
      - ./postgresql/initdb:/docker-entrypoint-initdb.d

3.docker-composeの実行

$ docker-compose up -d

4. デフォルトデータの流し込み

docker exec {コンテナ名} bundle exec rake redmine:load_default_data RAILS_ENV=production REDMINE_LANG=ja

番外編(ハマりポイント)

上記のdocker-compose.ymlで実行したら、以下のエラーに。。。

ホスト側のフォルダがマウントできないとのこと。
```console
Creating network "redmine404_default" with the default driver
Creating redmine404_db_1 ... error

ERROR: for redmine404_db_1 Cannot start service db: b'Mounts denied: { errno = [EACCES]; call = getattrlist; label = /Users/hogehoge/Documents/docker/redmine404/postgresql/data }'

ERROR: for db Cannot start service db: b'Mounts denied: { errno = [EACCES]; call = getattrlist; label = /Users/hogehoge/Documents/docker/redmine404/postgresql/data }'
ERROR: Encountered errors while bringing up the project.
```
ネットを調べるとDocker Desktop にてコンテナと共有するフォルダを指定しておかないと
いけないとか。今回は、/User/ 配下の為設定はできている模様。
image.png

色々調べていると、ホスト側の共有フォルダにアクセスができなくなっていた。
chmodでアクセス権をイジった時に間違って設定したのか??
上位フォルダから削除して再作成したら、コンテナは無事起動した。

しかし、今度は、管理者パスワード変更が終わらない。。
諦めてブラウザ閉じて、再接続してみるとパスワード変更完了のメッセージ、なぜ?
とりあえず良しとする
image.png

参考サイト

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2