1
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?

NextcloudをDockerで構築する手順

Last updated at Posted at 2024-12-09

はじめに

NextCloudというツールを一度利用してみたいと思ったので、ローカルのDocker環境でNextCloudを起動してみようと思います。

利用方法

Dockerをインストール済みのPCで作業を進めます。

必要なファイルの作成

Dockerプロジェクト用のフォルダを作成します。
(今回は、NextCloud-Dockerというフォルダを作成しました。)
作成したフォルダに下記のcompose.yml.env ファイルを作成します。
Windows Desctop Dockerの場合文字コードと改行コードに注意(UTF-8, LFの指定がおすすめ)

compose.ymlファイル

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${ENV_MYSQL_ROOT_PASSWORD}  # .envファイルに環境変数を設定
      - MYSQL_PASSWORD=${ENV_MYSQL_PASSWORD}  # .envファイルに環境変数を設定
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always
.envファイル
# docker-compose内で利用する環境変数をここで設定します。
# 下記2つの環境変数に、適当な文字列を設定してください。

ENV_MYSQL_ROOT_PASSWORD=root
ENV_MYSQL_PASSWORD =root

Docker Composeコマンドで環境を構築し起動する。

下記のコマンドを実行します。

実行コマンド
docker-compose up -d

ログの最後にDoneと表示されたら、下記のコマンドでコンテナの稼働状況を確認します。

コンテナ確認コマンド
docker-compose ps
psコマンド実行結果
         Name                       Command               State          Ports        
--------------------------------------------------------------------------------------
NAME              IMAGE       COMMAND                   SERVICE   CREATED          STATUS          PORTS
nextcloud-app-1   nextcloud   "/entrypoint.sh apac…"   app       27 minutes ago   Up 27 minutes   0.0.0.0:8080->80/tcp
nextcloud-db-1    mariadb     "docker-entrypoint.s…"   db        27 minutes ago   Up 27 minutes   3306/tcp           

動作確認

nextcloudはローカルホストの8080でリッスンされているので、ブラウザからhttp://localhost:8080にアクセスします。

image.png

管理者アカウントの設定

上部の管理者アカウントを作成してくださいの部分にユーザー名とパスワードを入力します。

後片付け

下記のコマンドでコンテナを停止し削除します。

コンテナ全削除コマンド
docker-compose down --rmi all --volumes

--rmi all --volumesを指定する事で、
・コンテナ止める
・ネットワーク削除する
・ボリューム削除する
・イメージ削除する
を同時に行います。

全削除コマンド実行結果
Removing nextcloud-docker_app_1 ... done
Removing nextcloud-docker_db_1  ... done
Removing network nextcloud-docker_default
Removing volume nextcloud-docker_nextcloud
Removing volume nextcloud-docker_db
Removing image mariadb
Removing image nextcloud

ボリュームの確認方法

下記コマンドでボリュームの一覧を確認する事ができる。
docker volume ls
実行結果内に「カレントフォルダ名_コンテナ名」のボリュームが存在する事が確認できます。
各ボリュームの詳細情報を確認するためには下記のコマンドを実行します。

docker volume inspect nextcloud-docker_db
docker volume inspect nextcloud-docker_nextcloud

ボリュームのマウント状況の確認

下記コマンドでコンテナの情報をtextファイルに出力
docker inspect nextcloud-docker_app_1 > inspect_nextcloud-docker_app_1.txt
docker inspect nextcloud-docker_db_1 > inspect_nextcloud-docker_db_1.txt
mountと表示されている部分にボリュームの情報が表示されている。

ネットワークの確認方法

下記のコマンドを実行してDocker上のネットワーク一覧を表示します。
docker network list
ネットワーク名を指定していない場合、「カレントフォルダ名_default」という名前のネットワークで設定されています。
詳細な情報を確認したい場合はinspectコマンドを利用します。

docker network inspect nextcloud-docker_default

イメージの情報確認

docker-compose imagesで情報を表示します。
docker上の全てのイメージを確認するためには下記のコマンドを実行します。
docker images

参考ページ

Dockerのnextcloudページ

1
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
1
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?