0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker+NextCloud

Last updated at Posted at 2020-03-09

##利用環境

OS:CentOS7

Dockerの導入

インストール


sudo yum -y install docker

確認


docker --version

サービスの開始・自動起動


$ sudo systemctl start docker
$ sudo systemctl enable docker

sudoなし設定


# dockerグループを作成する
$ sudo groupadd docker

# ログイン中のユーザーをdockerグループに追加する
$ sudo gpasswd -a $USER docker

# Dockerを再起動する
$ sudo systemctl restart docker

# exitして再ログインすると反映される
$ exit

Docker Composeの導入

インストール


# Docker Composeの最新版をダウンロードする
# `1.25.4` の値はバージョンに応じて変更する
$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# バイナリの実行権限を適用する
$ sudo chmod +x /usr/local/bin/docker-compose

確認


docker-compose --version

NextCloudのベース作成

NextCloudのコンテナを作成するディレクトリに作成、移動後作業開始

下記のdocker-compose.ymlを作成する。


version: '2'

volumes:
  nextcloud:
  db:
  redis:
services:
  db:
    image: mariadb
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_VERSION=5.7
      - MYSQL_ROOT_PASSWORD=root # 適当なパスワードを設定
      - MYSQL_PASSWORD=root      # 適当なパスワードを設定
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    ports:
      - 8080:80
    depends_on:
      - db
      - redis
    volumes:
      - nextcloud:/var/www/html
    restart: always
    environment:
      - MYSQL_HOST=db
      - REDIS_HOST=redis
  redis:
    image: redis
    restart: always
    volumes:
        - redis:/data

コンテナの導入


docker-compose up -d

MARIADBの設定

コンテナの内部IPを下記の方法で調べておく

DBコンテナに入る


docker exec -it nextcloud_db_1 bash

rootでmysqlに入る


mysql -u root -p

他コンテナからのアクセス用ユーザー作成


CREATE USER 'root'@'172.19.0.2' IDENTIFIED BY 'root';
CREATE USER 'root'@'172.19.0.3' IDENTIFIED BY 'root';

CREATE DATABASE IF NOT EXISTS nextcloud;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON nextcloud.* TO 'root'@'172.19.0.2' IDENTIFIED BY 'root';
CREATE TEMPORARY TABLES ON nextcloud.* TO 'root'@'172.19.0.3' IDENTIFIED BY 'root';
FLUSH privileges;

ブラウザで確認

0
1
0

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
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?