一、安装 Docker 环境

1、安装相关依赖允许使用 HTTPS repository

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

2、添加可信任的 GPG 公钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

3、查看 GPG 公钥

apt-key fingerprint 0EBFCD88

3、添加镜像源
这里选择的是 Docker 官方提供的 docker-ce 源

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

4、更新本地软件缓存列表

sudo apt update

5、安装 Docker-CE 及其依赖

sudo apt install -y docker-ce

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

sudo usermod -aG docker $(whoami)

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

7、添加网易云 Docker 镜像加速器

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

8、重启 Docker 服务

sudo service docker restart

9、检查 Docker 是否安装成功

sudo docker info

二、安装 docker-compose 工具

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

1、安装基础组件

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

3、安装 docker-compose

sudo pip3 install docker-compose

三、安装 Nextcloud

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

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

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

sudo docker-compose up -d

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

nextcloud docker信任证书 docker nextcloud升级_Nextcloud

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

nextcloud docker信任证书 docker nextcloud升级_Docker_02

更新应用至最新版

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

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

恭喜
Nextcloud 搭建成功了!