说明:Cloudreve
是一款支持对接多家云存储的多功能网盘系统,之前介绍过,具体查看:Cloudreve搭建教程,这里再说下使用Docker
来快速安装Cloudreve
。
安装
本镜像使用环境为Apache 2.4
、MariaDB 10
、PHP 7.1
。且不支持OpenVZ
架构。
1、安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、拉取镜像
docker pull ilemonrain/cloudreve
3、配置镜像
#命令
docker run [-d/-t] -p 80:80 -v /cloudreve:/cloudreve -e CLOUDREVE_URL="[Cloudreve URL]" --name docker-cloudreve ilemonrain/cloudreve
#示例
docker run -t -p 80:80 -v /cloudreve:/cloudreve -e CLOUDREVE_URL="http://xx.com/" --name docker-cloudreve ilemonrain/cloudreve
参数说明:
#-d/-t:决定是以后台运行模式启动或是前台监控模式启动。
使用-d参数启动,镜像将不会输出任何日志到你的Console,直接以Daemon模式启动。Deamon模式启动下,可以使用docker logs docker-cloudreve命令显示启动日志。
使用-t参数启动,将会直接Attach你的镜像到你的Console,这个模式启动下,你可以直观的看到镜像的启动过程,适合于初次部署镜像,以及镜像Debug部署使用。你可以使用Ctrl+C将Docker镜像转入后台运行,使用docker logs docker-cloudreve 命令显示启动日志。
#-v /cloudreve:/cloudreve:将Docker容器中的/cloudreve目录,映射到宿主机的/cloudreve目录,冒号前面的是映射路径,冒号后的为容器中路径 (强烈建议进行映射,以确保容器中数据的安全,避免在容器意外崩溃时导致数据丢失),容器中可以映射的路径:
/cloudreve:Cloudreve程序目录以及网盘文件目录
/var/lib/mysql:MariaDB(MySQL)数据库文件目录
#-p 80:80:暴露你的Docker容器内部的80端口,到你容器外部的80端口。目前由于开发状态原因,不建议修改此端口。
#-e CLOUDREVE_URL="[Cloudreve URL]":Cloudreve绑定的地址,此参数务必严格填写,不能丢掉http/https前缀和结尾的斜杠!如http://xx.com/。
最后打开地址即可!
文章参考:Cloudreve on Docker-网络云盘,一键部署
版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!
本文链接:https://www.moerats.com/archives/556/
如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。
大佬,出现这个错误该怎么办?docker: Error response from daemon: driver failed programming external connectiv ity on endpoint docker-cloudreve (caf0702f3a8e808847ac95cd2d416f11294423ae49173e 7479d607731aaedda7): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.
80端口被占用了,你先执行下docker ps,找到占用80端口的程序ID,执行docker kill ID杀掉容器进程就可以了。
我执行完docker ps 后啥都没有啊,就是这样: [root@vultr ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
那就是外部80端口被占用了,你运行netstat -lnp|grep 80,查看占用进程,再kill -9 xx杀掉进程,你要是嫌麻烦,重装系统吧。
查出来是这个:11306/httpd,运行kill后提示:arguments must be process or job IDs……重装系统能解决吗?
这是有apache程序,卸载掉就可以了。
Error response from daemon: Conflict. The container name "/docker-cloudreve" is already in use by container "0ee240f66aa2778ad5d2993a43e6e87d159c21b718ca161c4e2910ce5a681e5a". You have to remove (or rename) that container to be able to reuse that name
你之前已经拉取过这个镜像,你清空下镜像,docker kill $(docker ps -aq)、docker rm $(docker ps -aq)、docker rmi $(docker images -q),运行这几个命令。
谢谢,解决了,安装后80端口被apache占用啊,我网站挂在上面呢,怎么办?关了apache,网站就挂了
目前该镜像适用于纯净系统,既然你有网站,为了不影响,直接清空镜像吧,这个Docker端口映射非80还有点问题,等作者修复。可以试着手动安装,教程可以参考:https://www.moerats.com/archives/516/。
教程404了,请查下
没有404,你仔细看看。
极度简单,可以有
大佬。