Loading... 就在刚刚,我的内网穿透服务器到期了,由于续费的话太过于昂贵,所以我选择不续费,而我的另外一台服务器也即将于两个月之后到期,于是我就想提前把一些服务搬到本地来,毕竟现在有了一台退役下来的笔记本做了服务器(我安装了Ubuntu),并且内存、硬盘、CPU核数是要比一般的服务器要高的,CPU的性能倒是比不了,但是容量还是可以比一比的。 服务器上使用的是Kodbox,本来想直接迁移到线下,但是转念一想,这个云盘的数据都是存储在COS和又拍云的,最终还是决定在本地重新部署一个云盘,于是选择了Nextcloud。 鉴于宝塔面板使用着越来越不舒服,为了保证服务器的纯净和稳定性,我直接装了一个Docker,现在所有的服务都直接跑在Docker容器里面,方便又省心。 ## 安装Docker ```bash sudo apt update sudo apt upgrade sudo apt install docker ``` 当然还建议配置一下docker的镜像,这样拉取的时候更快 ```bash sudo vim /etc/docker/daemon.json ``` 按下insert键切换到输入模式,然后开始配置镜像 ```vim { "registry-mirrors":[ "https://xxxx.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com" ] } ``` 配置完成后,按下键盘的ESC键,然后输入`:wq`保存 让配置生效 ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` ## 拉取镜像 这里我选择的是mysql5.7 和最新版的nextcloud,当然也可以按照自己的喜好来,nextcloud支持sqlite,不装数据库也是可以的。 ```bash sudo docker pull mysql:5.7 sudo docker pull nextcloud ``` ## 运行容器 首先运行mysql,配置一下root账户的密码和初始的账号和密码 ```bash sudo docker run -d --name mysql \ -v d_mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=password \ -e MYSQL_DATABASE=nextclud \ -e MYSQL_USER=nextcloud \ -e MYSQL_PASSWORD=password \ -p 3306:3306 \ mysql:5.7 ``` 然后运行nextcloud,使用--link关联上面的mysql容器,这样在连接数据库的时候可以在host那里直接填写`mysql`,就可以链接到docker容器的mysql数据库 ```bash sudo docker run -d --name nextcloud \ -v /home/keze/nextcloud:/var/www/html \ --link mysql \ -p 8081:80 nextcloud ``` 然后访问`ip:8081`就可以进行安装了 ## 一些问题 如果没有创建出来默认的数据库和用户,可以自己手动创建一下数据库和用户,用任意的mysql客户端链接,这里我使用的是DataGrip ```sql create database nextcloud; # 创建数据库 create user '用户名'@'%' identified by '密码'; #创建用户 grant all privileges on `nextcloud`.* to 'nextcloud'@'%' identified by '密码'; # 赋予权限 ``` © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 4 如果觉得我的文章对你有用,请随意赞赏