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
安装 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
(配置文件中的数据库应用名)。
所有初始化配置填写完毕之后,等待大约半分钟左右安装完成就可以看见 Nextcloud 的主目录页面。
更新应用至最新版
sudo docker pull nextcloud
sudo docker-compose down && sudo docker-compose up -d
你将会发现虽然销毁了原来的容器并且新建了容器,但是并不需要重新初始化应用的配置,这也正是 Docker 管理应用的方便之处。
恭喜
Nextcloud 搭建成功了!
参考:https://cloud.wongcw.com/