1、docker安装(阿里云镜像源)
Centos7: 使用 yum 进行安装
step 1: 安装必要的一些系统工具
# yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Step 3: 更新并安装Docker-CE
# yum makecache fast
# yum -y install docker-ce
Step 4: 开启Docker服务
# systemctl start docker
# systemctl enable docker
查看docker安装详情
# docker info
2、获取nextcloud、mysql镜像(建议更改国内镜像源,自行百度)
# docker pull nextcloud
# docker pull mysql:5.6
# docker images
3、启动容器
# docker run -itd --name nextcoud -p 8080:80 nextcloud
4、通过浏览器访问页面
http://IP:8080
上面是选择nextcloud默认的数据库,下面我选择将nextcloud容器连接mysql容器数据库
# docker run --name=nextcloud_db -e MYSQL_ROOT_PASSWORD=nextcloud -d -p 13306:3306 mysql:5.6
注释:启动一个名字为nextcloud_db容器,设置数据库密码为nextcloud;将数据库3306端口映射到宿主机13306端口;如果宿主机是云主机,请开放13306端口。
# docker exec -it nextcloud_db /bin/bash
mysql> create database nextcloud;
mysql> grant all on *.* to 'root'@'%';
mysql> flush privileges;
mysql> quit
# docker run -d --name=nextcloud --link nextcloud_db:db -v /data/nextcloud:/var/www/html/data -p 8080:80 --restart=always nextcloud
通过浏览器访问页面
http:IP:8080
至此,nextcloud基本安装完成,如果你有自己的域名,那么可以使用nginx实现代理转发,通过域名直接访问nextcloud。
nginx配置如下:
# vim /etc/nginx/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 10240M; # 因为nextcloud默认上传文件的大小为2M,所以可以以此进行更改,调整为可以上传10G的文件
upstream nextcloud {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name www.xxx.com; # 替换为你的域名
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://nextcloud;
}
access_log /var/log/nginx/access/dashboard.log;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
# systemctl restart nginx