使用docker安装nextcloud

使用docker安装nextcloud

记录在CentOS 8中使用docker安装nextcloud的教程

在CentOS 8中安装docker

  1. 更新系统
yum update #更新系统
yum install wget #安装wget
  1. 添加镜像源
    使用阿里云的镜像源(https://developer.aliyun.com/mirror)
 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
 yum makecache
  1. 安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装需要的软件包

设置yum源(选择其中一个)

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo #中央仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里仓库

查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

安装Docker,命令:yum install docker-ce-版本号,例如docker-ce-18.03.1.ce

yum install docker-ce-20.10.9-3.el8

启动Docker,命令:systemctl start docker,然后加入开机启动,如下

systemctl start docker
systemctl enable  docker

安装docker网络

创建一个名字叫 my-net 的网络

docker network create -d bridge my-net

查询已经存在的网络

docker network ls

在这里插入图片描述

在docker中安装nextcloud

取最新版的 nextcloud镜像

docker pull nextcloud

使用docker安装nextcloud
安装教程参考官网教程(https://hub.docker.com/_/nextcloud)
运行nextcloud镜像

命令参数说明:
run: 与前面的 docker 组合来运行一个容器
-d:指定容器的运行模式(后台模式)
–network my-net:加入已经网络
–name nextcloud:指定容器的名字
-v nextcloud:/var/www/html:运行的目录
-p 10001:80:指定的端口

nextcloud的目录在宿主机的/var/lib/docker/volumes 目录下面可以查看

docker run -d -p 10001:80 -v nextcloud:/var/www/html --network my-net --name nextcloud  nextcloud

我们在防火墙放行nextcloud运行的端口

firewall-cmd --zone=public --add-port=10001/tcp --permanent #放行端口
firewall-cmd --reload #重新加载
firewall-cmd --zone=public --list-ports #查看已经放行的端口

nextcloud已经安装完成通过 http://ip:10001可以访问
在这里插入图片描述

在docker中安装mysql

取最新版的 mysql镜像

docker pull mysql:latest

运行容器,数据库密码可以按情况设置

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --network my-net  mysql

添加对应的数据库和用户

docker exec -it mysql /bin/bash #登录到容器
mysql -uroot -p123456 #登录到MySQL

添加用户和数据库

create database nextcloud; #创建数据库

验证网络是否加入成功

使用docker登录到nextcloud容器

docker exec -it nextcloud /bin/bash

安装ping 工具包

apt-get update
apt install iputils-ping

检测网络,ping成功表示网络添加成功

ping mysql 

在这里插入图片描述

打开网站配置nextcloud ,数据库的主机地址可以添加mysql

安装nginx,使用https

安装nginx,通过http://ip

docker run -itd --name nginx -p 80:80 -p 443:443 --network my-net  nginx

在这里插入图片描述

在这里插入图片描述

登录nginx容器,检测网络,能供ping通

docker exec -it nginx /bin/bash
apt-get update
apt install iputils-ping
apt install vim

在这里插入图片描述

添加配置文件

vim /etc/nginx/conf.d/cloud.abc.com.conf

添加一下内容,域名需要做对应的修改,改成自己的域名

server{
    
    
        listen 80;
        server_name cloud.abc.com;
        location / {
    
    
                proxy_pass http://nextcloud;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_connect_timeout 120s;
                proxy_send_timeout 120s;
                proxy_read_timeout 120s;
        }
}

测试配置文件

在这里插入图片描述
重启nginx

exit
docker stop nginx
docker start nginx
docker ps -as

在这里插入图片描述

将域名添加对应的解析,如果没用域名可以使用添加hosts记录

Guess you like

Origin blog.csdn.net/weixin_45348862/article/details/121544144