centos7 docker composeを利用してnextcloudを構築するまでの手順

centos7 docker composeを利用してnextcloudを構築するまでの手順

オンラインストレージ「nextcloud」をdocker composeを使って、構築するまでの手順。nextcloudはサイト上でPDF等を直接閲覧できるのが、利用しやすいと思います。

環境

  • OS CentOS Linux release 7.7.1908 (Core)
  • docker 19.03.8
  • docker-compose 1.25.4

docker-compose.yml作成

下記の内容でymlファイルを作成します。
私の環境では80と3306ポートは他に利用しているので
ポートは89番に、mysqlは3309番を使用します。

version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    ports:
      - 3309:3306
    environment:
      - MYSQL_ROOT_PASSWORD=pwd
      - MYSQL_PASSWORD=pwd
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    ports:
      - 89:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always

実行

firewallを先に設定しておきます。

sudo firewall-cmd --add-port=89/tcp --zone=public --permanent
sudo firewall-cmd --reload

実行します。

docker-compose up -d

nextcloud設定

自分の設定した環境では、ブラウザから http://プライベートIP:89 にアクセスすると、下記の画面が表示されます

ログイン用のアカウントを作成します。

DBはMysqlを選択して、ymlの設定通りに入力します。
user : nextcloud
password : pwd
database : nextcloud
host : next_db_1

ホスト名は「docker ps」で確認できます。

docker ps

<出力結果>
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
510f4f3423d4        mariadb                       "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:3309->3306/tcp   next_db_1

推奨アプリのインストールされます。

インストールが終われば構築完了です。