环境安装
系统
ubuntu16.04
docker安装
采用官方安装脚本自动安装,命令:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
参考链接:UbuntuDocker安装
docker镜像加速
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。
- 修改daemon.json文件,没有就创建。在终端输入:
sudo gedit /etc/docker/daemon.json
- 阿里云镜像获取地址
写入:{"registry-mirrors":["https://获取的阿里云加速地址"]}
- 重新启动服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
- 验证是否生效:
sudo docker info
结果如图可以看到registry mirrors已经生效:
参考链接:Docker镜像加速
安装数据库
- 安装
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
一路Y,自己设置密码(划重点,后面要用) - 验证
sudo netstat -tap | grep mysql
如图即为安装成功:
- 设置远程访问
进入数据库:mysql -u root -p
输入之前设置的密码
编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address(如图),保存退出:
进入MySQL执行授权命令:grant all on *.* to root@'%' identified by '密码' with grant option;
flush privileges;
这里的密码就是之前设置的密码
退出重启MySQL:service mysql restart
即可实现远程访问
镜像拉取
查找镜像
sudo docker search nextcloud
拉取镜像
sudo docker pull nextcloud
查看本地镜像
拉取成功后,可以验证本地镜像:
sudo docker images
数据库配置
打开数据库配置文件:sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加:skip-name-resolve
如图:
保存退出,新建nextcloud所用数据库:
create database nextcloud;
启用容器
为了方便管理应用及用户数据,在自己选定目录下建立nextcloud/apps,nextcloud/data作为容器的映射路径,分别存放nextcloud应用、用户信息文件。
mkdir nextcloud/
cd nextcloud
mkdir apps/ data/ config/
启动命令:
sudo docker run -d --restart=always --name nextcloud -p 8000:80 -v /home/syz/nextcloud/data/:/var/www/html/data -v /home/syz/nextcloud/apps/:/var/www/html/apps -v /home/syz/nextcloud/config/:/var/www/html/config nextcloud
其中8000:80中 8000是自己的端口可以修改,80是容器端口,不能改。
/home/syz/nextcloud/apps/根据系统路径进行设置,获得路径可以用pwd命令。
如图即为启动成功:
nextcloud初始化
网页打开对应端口,选择MySQL数据库,输入之前的配置。
等配置好之后就可以开始使用啦