macOSのDockerで「Nextcloud+mysql」を運用する方法

DOCKER
この記事は 2 分で読めます。
概要

macOSのDockerで「Nextcloud+mysql」を個人サーバーで運用する方法を紹介します。

この記事の読者層

macOSユーザーがDockerを利用してNextcloudを利用したい方

目次

NextcloudをmacのDocker上で構築する方法

過去の記事で仮想環境プラットフォーム「Docker」をmacOSで使用できるDocker Desktop for macのインストール方法を紹介しました。今回は、NextcloudをDockerでインストールする方法を紹介致しました。

Nextcloudの利用方法に関しては以下の記事をご参照下さい。

MacOS上で利用する仮想環境プラットフォーム「Docker Desktop for mac」 インストール方法の紹介は、以下の記事をご参照下さい。

本記事では、Dockerを利用して「Nextcloud」をmac上で構築する方法を示します。

Dockerの環境
  • Docker Desktop for mac (M1チップ搭載macOS Monterey memory 16GB)
    バージョン 20.21
  • Nextcloud
    バージョン 25.0.1
  • mySQL
    バージョン 5.7

mySQLとnextcloudのイメージのダウンロード

以下のDockerの公式イメージからmysqlとnextcloudのイメージをダウンロードします。

macOSのターミナル上から以下のdocker pullコマンドを実行して、Dockerのイメージをダウンロードできます。

docker pull mysql
docker pull next cloud

次に、doker-compose用の定義ファイルを作成します。

version: '2'
volumes:
 mysql:
 app:

services:
 mysql:
  restart: always
  hostname: mysql_db
  image: mysql
  platform: linux/arm64/v8
  container_name: mysql-container
  command:
   --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
  ports:
   - 3306:3306
  volumes:
   - mysql:/var/lib/mysql
  environment:
   - MYSQL_ROOT_PASSWORD:rootpass
   - MYSQL_PASSWORD:pass
   - MYSQL_DATABASE:nextcloud
   - MYSQL_USER:nextcloud
   - TZ:Asia/Tokyo

 app:
  restart: always
  hostname: nextcloud_app
  container_name: nextcloud-app
  image: nextcloud
  volumes:
   - app:/var/www/html
  ports:
   - 12345:80
  links:
   - mysql

設定ファイルを記載したら、

% docker-compose up -d

を行ってみて下さい。エラーがでなければそのまま起動します。

注意点

コマンドで気をつけるポイントは、各コマンドの前にいくつ空白スペースを入れるかです。数が間違えたりするとエラー等ができます。スペースの数は偶数2, 4, 6にするのが最も安全です。

空白のスペースを間違えたり、入力の文字を間違えたり、コマンド間違いでいかのようなエラーがでてきます。

  • services.mysql.environment must be a mapping (空白の入れ間違い)
  • services.mysql.environment.# must be a string (入力の英数字・英文字の間違い)
  • yaml: line #: mapping values are not allowed in this context (コマンド間違い)

大体は、ymlファイルのタイプ時に発生するスペースのエラーが多いと思います。

services.mysql Additional property (volume名) is not allowed

といったvolumeID 名(上の例では「app」など)の設定ファイル内の記述間違い等でもエラーが発生します。

最終的に、以下のようにコマンドを入力後に起動できればコンテナUP完了です。

% docker-compose up -d
[+] Running 3/3
 ⠿ Volume "tomitatakahiro_app"  Created                                                                                              0.0s
 ⠿ Container nextcloud-app      Started                                                                                              0.3s
 ⠿ Container mysql-container    Started

その後、適当なSafariなどのブラウザ上のURLへ「http://localhost:12345」を入力すると以下のようにNextcloudが起動します。

注意:ここでこのままインストールボタンを押してしまうとSQLite3のデータベース仕様でインストールが始まってしまいます。

画面真ん中に「ストレージとデータベース」と書かれた欄があります。

こちらクリックしてMySQLのデータベース設定を入力しインストールします。

ここでは以下のように設定されているため、入力も同様に行います。

  • MYSQL_ROOT_PASSWORD:rootpass
  • MYSQL_PASSWIRD:pass
  • MYSQL_DATABASE:nextcloud
  • MYSQL_USER:nextcloud

まとめ

本記事のまとめ

本記事のまとめは、

MacOSのDockerで「Nextcloud+mysql」を運用する方法インストール方法を紹介しました。

関連リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次