CentOS7基于docker搭建MySQL数据库的nextcloud个人网盘

服务器闲着也是闲着,利用一下带宽和内存,跑一些自托管项目还是不错的。个人网盘就是一个很常见的项目。虽然OneDrive家庭版已经很香,但是它的 ios 端居然全局魔法也不好用,实在是无法理解。最后选择nextcloud搭建个人网盘,而没有选择oneindex在服务器挂在OneDrive,希望可以兼顾手机端。

参考:

  1. centos7 安装 Docker 详细步骤(无坑版教程)
  2. 使用 docker 安装部署 NextCloud 私人网盘
  3. Docker 方式部署 Nextcloud

第一步,安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1
yum install -y yum-utils device-mapper-persistent-data lvm2

# 2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r

# 3
yum -y install docker-ce-18.06.3.ce

# 4
systemctl start docker
systemctl enable docker
  1. 安装需要的软件包,yum-util提供yum-config-manager功能,另两个是devicemapper驱动依赖。
  2. 设置yum源。
  3. 下载安装docker
  4. 启动docker并且设置为开机自启。

第二步,运行MySQL容器

1
docker run --name mysql-nextcloud -e MYSQL_ROOT_PASSWORD=自己设 -e MYSQL_DATABASE=自己设 -e MYSQL_USER=自己设 -e MYSQL_PASSWORD=自己设 -p 3306:3306 -d mysql:5.7

参数:

  • name:容器名称mysql-nextcloud
  • MYSQL_ROOT_PASSWORD:数据库 root 账户密码
  • MYSQL_DATABASE:数据库名称
  • MYSQL_USER:普通账户名
  • MYSQL_PASSWORD:普通账户密码
  • 端口映射:主机3306和容器3306
  • 镜像:mysql选择5.7版本。

第三步,创建一个网络,将MySQL加入其中

1
2
docker network create nextcloud-network
docker network connect nextcloud-network mysql-nextcloud
  • 创建了一个名为nextcloud-network的网络。
  • 将容器mysql-nextcloud加入其中

第四步,运行nextcloud容器,加入刚刚的网络

1
docker run -d --name nextcloud --network nextcloud-network -p 8080:80 nextcloud
  1. 运行一个nextcloud容器,参数中设置加入网络。这里我的主机80端口已经被博客网站服务占用,所以主机使用8080端口。
  2. 设置防火墙策略,开放这 nextcloud 使用的端口。

第五步,进入 web 管理界面,进行配置

  1. 进入http://你的服务器IP:8080。端口是你上一步设定的。
  2. 进行初始化。
  • 管理员账户:创建一个管理员账户,填写用户名和密码。
  • 数据存储:默认情况下,数据目录应该已经设置好了,通常不需要更改。
  • 数据库配置:
    1. 选择MySQL作为数据库。
    2. 数据库用户名:之前设置的MYSQL_USER
    3. 数据库密码:之前设置的MYSQL_PASSWORD
    4. 数据库名称:之前设置的MYSQL_DATABASE
    5. 数据库主机:这里应该填写MySQL容器的名称加上 Docker 网络名,如mysql-nextcloud:3306

一些经验

docker 容器启动时候报错,容器依旧会启动,需要停止然后删除该容器,解决报错,然后重新启动。

1
2
docker stop mysql-nextcloud
docker rm mysql-nextcloud

CentOS7基于docker搭建MySQL数据库的nextcloud个人网盘
http://sinlatansen.github.io/2024/02/08/CentOS7基于docker搭建MySQL数据库的nextcloud个人网盘/
作者
fugu
发布于
2024年2月8日
许可协议