Docker 搭建 Nextcloud

Docker 搭建 Nextcloud

安装 Docker 环境

任务时间:10min ~ 20min

添加镜像源

这里选择的是国内上海大学开源镜像站提供的 docker-ce 源,多快好省。

sudo tee -a /etc/apt/sources.list.d/docker.list << EOF
deb [arch=amd64] https://mirrors.shu.edu.cn/docker-ce/linux/ubuntu/ xenial stable
EOF

添加可信任的 GPG 公钥

sudo apt-key adv --keyserver=hkp://keyserver.ubuntu.com --recv 7EA0A9C3F273FCD8

更新本地软件缓存列表

sudo apt update

安装 Docker-CE 及其依赖

sudo apt install -y docker-ce

添加用户权限

将普通用户添加到 docker 组,这样普通用户也能使用 docker 命令。

sudo usermod -aG docker $(whoami)

执行完成后请退出终端并重连使配置生效。

添加网易云 Docker 镜像加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s https://hub-mirror.c.163.com/

重启 Docker 服务

sudo service docker restart

检查 Docker 是否安装成功

sudo docker info

image

安装 docker-compose 工具

任务时间:5min ~ 10min

docker-compose 是一个由 Docker 官方提供的管理工具,适合一个应用需要多个容器配合统一管理,进一步简化应用部署、应用升级步骤。

安装基础组件

sudo apt install -y python3 python3-pip
sudo pip3 install -U pip

安装 docker-compose

sudo pip3 install docker-compose

安装 Nextcloud

任务时间:10min ~ 20min

编写 docker-compose.yml 文件

docker-compose 的管理主要依赖于一个名为 docker-compose.yml 的 yaml 文件来进行管理,当然这个文件也可以以任何别的名称并以 -f 文件名 的方式来启用,但必须是符合 yaml 格式和 Docker 官方定义的字段和方式。

以下为本实验所需的内容,其中用到了 mariadb 官方提供的数据库容器 和 Nextcloud 官方提供的应用容器。

编辑 docker-compose.yml

示例代码:/home/ubuntu/docker-compose.yml
version: '2'

services:
  db:
    image: mariadb
    restart: always
    volumes:
      - /home/ubuntu/nextcloud/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

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

启动容器

以下命令即可开始拉取所需容器的镜像文件并根据 docker-compose.yml 文件配置好本地文件夹挂载和端口映射。(本步骤由于需要拉取镜像,所以需要 3 ~ 5 分钟时间。)

sudo docker-compose up -d

应用初始化配置

访问 http://<您的 CVM IP 地址> 设置管理员用户名和密码(比如 admin 和 admin@tencent ),数据目录默认即可,数据库信息填写如 docker-composer.yml 中所示,数据库主机名填 db (配置文件中的数据库应用名)。

image

所有初始化配置填写完毕之后,等待大约半分钟左右安装完成就可以看见 Nextcloud 的主目录页面。

image

更新应用至最新版

sudo docker pull nextcloud
sudo docker-compose down && sudo docker-compose up -d

你将会发现虽然销毁了原来的容器并且新建了容器,但是并不需要重新初始化应用的配置,这也正是 Docker 管理应用的方便之处。

恭喜

Nextcloud 搭建成功了!

参考:https://cloud.wongcw.com/

點閱: 72

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料