Docker安装部署nextcloud个人网盘

2,190 阅读2分钟

Docker安装部署nextcloud个人网盘

环境搭建:

  1. 先完成docker的安装配置
  2. 配置好镜像加速器,不然速度可能上龟速。

mysql配置

然后拉取mysql镜像:

 docker pull mysql

查看是否拉取成功:

  docker images #查看是否成功

然后基于镜像运行容器:

 docker run -d -p 3306:3306 -v /mnt/sde/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password --name mysql mysql

-d 以后台进程方式运行 -p 端口映射 将容器3306 映射到主机3306端口 -v 将容器/var/lib/mysql 映射到主机的/mnt/sde/mysql下 -e 设置环境变量 数据库密码password --name 设置容器名称 mysql 最后指定镜像mysql

配置mysql数据库容器

 docker exec -it mysql /bin/bash     #进入docker容器

-it: 提供一个虚拟终端 mysql:容器名称或者id /bin/bash: 终端命令行

进入容器内,然后登陆数据库

 mysql -uroot -ppassword

然后配置权限,远程登陆

 CREATE database nextcloud;                        #创建一个nextcloud的数据库
 GRANT ALL ON *.* TO 'root'@'%';                   #设置root账号任意ip登录
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
 flush privileges;

上面的命令是设置root用户远程登陆以及无法登陆时的 数据库操作完成

nextcloud安装

 docker pull nextcloud              # 拉取nextcloud镜像
 docker run -d --restart=always -p 8888:80 -v /mnt/sde/nextcloud:/var/www/html -link mysql:mysql  --name nextcloud nextcloud

-d 后台进程运行 -p 映射端口, 将容器80端口映射为主机的8888端口,可以自行修改端口,不过防火墙需要放通。 -v 挂载目录,将容器/var/www/html挂载到主机/mnt/sde/nextcloud下面 --link 链接数据库容器,链接使用mysql容器镜像mysql(容器名称) --name 名称,指定容器的名称为nextcloud nextcloud 使用的基础镜像。

网页配置

http://ip:8888, 这个是刚刚配置的服务器地址加上刚刚映射的主机端口。 输入用户名密码,数据库使用MYSQL,数据库以后用户密码,数据库nextcloud,然后安装指示一路填写信息,安装就好了。