Docker搭建可道云

Docker搭建可道云(存储)

文章目录

  • Docker搭建可道云(存储)
    • 介绍
    • 资源列表
    • 基础环境
    • 一、安装Docker
    • 二、配置Docker加速器
    • 三、搭建可道云私有云盘
      • 3.1、编写Dockerfile
      • 3.2、上传资源到指定目录
      • 3.3、查看目录下所有资源
    • 四、构建镜像
    • 五、启动容器
    • 六、访问php解析页面
    • 七、访问可道云程序

介绍

  • 可道云的英文名称KodExplorer,在很久之前叫芒果云,是国人开发的基于Web技术的私有云和在线文档管理的开源解决方案
  • 可道云采用windows操作界面,具有专业的在线编辑器,支持Office的在线预览和编辑,可多人协同编辑作业,文档历史版本回溯;更有Photoshop、AI、AutoCAD等专业文档的在线预览,很适合办公用户。作为网盘使用,具有一键分享文件,支持生成外链;扫描二维码,受经济即可快速查看;可设定到期时间、提取密码、下载权限,满足更过场景需求,轻松将文件分享给客户、同事查看。还有很多插件可选择
  • 当然可倒运很大的优点是无需数据库,在服务器、VPS、虚拟空间、各种NAS、甚至部分路由器上都可以直接安装使用

资源列表

操作系统配置主机名IP所需软件
CentOS 7.92C4Glnmp-docker192.168.93.165Docker、kodexplorer4.40.zip、LNMP

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname lnmp-docker

一、安装Docker

# 安装依赖环境
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加CentOS官方镜像站
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum clean all && yum makecache
# 安装Docker
yum -y install docker-ce docker-ce-cli containerd.io
# 启动Docker
systemctl start docker
systemctl enable docker

二、配置Docker加速器

cd /etc/docker/
cat >> daemon.json << EOF
{  
"registry-mirrors": ["https://8xpk5wnt.mirror.aliyuncs.com"]  
}
EOF
systemctl restart docker# 查看Docker版本
docker version

三、搭建可道云私有云盘

3.1、编写Dockerfile

# 创建工作目录
[root@lnmp-docker ~]# mkdir /root/lnmp
[root@lnmp-docker ~]# cd /root/lnmp/
[root@lnmp-docker lnmp]# cat Dockerfile 
FROM centos:7
RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#安装nginx和php
RUN yum install nginx php-mbstring php-fpm php-gd php-mysql -y
#复制php配置文件
ADD www.conf /etc/php-fpm.d/www.conf
#复制nginx配置文件
ADD nginx.conf /etc/nginx/nginx.conf
RUN mkdir /html
WORKDIR /html#复制程序文件
COPY kodexplorer4.40.zip .
RUN yum install unzip -y
RUN unzip kodexplorer4.40.zip
RUN chown -R nginx:nginx .# 复制php界面页面
COPY test.php /html#安装mysql
RUN yum install mariadb-server -y#添加并运行脚本
ADD init.sh /init.sh#开放的端口
EXPOSE 80
EXPOSE 3306
EXPOSE 443
EXPOSE 9000#每次创建容器运行此脚本
CMD ["/bin/bash","/init.sh"]

3.2、上传资源到指定目录

##################################################################
# 创建CMD指定脚本
[root@lnmp-docker lnmp]# cat init.sh 
#!/bin/bash
#初始化mysql
/usr/libexec/mariadb-prepare-db-dir &>/dev/null &
#启动mysql
/usr/bin/mysqld_safe --basedir=/usr &>/dev/null &
#休眠5s
sleep 5
#创建数据库kod
mysql -e "create database kod;"
mysql -e "grant all on kod.* to discuz@localhost identified by '123456'";
#启动php-fpm
/usr/sbin/php-fpm --daemonize
#nginx在前台启动
nginx -g 'daemon off;'
####################################################################################################################################
# 创建nginx配置文件
[root@lnmp-docker lnmp]# cat nginx.conf user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile           on;tcp_nopush         on;tcp_nodelay        on;keepalive_timeout  65;types_hash_max_size 2048;include            /etc/nginx/mime.types;default_type       application/octet-stream;server  {listen 80;server_name    localhost;root           /html;index          index.php index.html;location ~ \.php$ {root           /html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}}
}
####################################################################################################################################
# 创建php配置文件
[root@lnmp-docker lnmp]# cat www.conf | grep -v ";" | grep -v "^$"
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache
####################################################################################################################################
# 创建php解析页面
[root@lnmp-docker lnmp]# cat test.php 
<?php
$link=mysql_connect("localhost","discuz","123456");
if(link)
echo "The connection is successfully!";
mysql_close();
?>
##################################################################

3.3、查看目录下所有资源

[root@lnmp-docker lnmp]# ls
Dockerfile  init.sh  kodexplorer4.40.zip  nginx.conf  test.php  www.conf

四、构建镜像

[root@lnmp-docker lnmp]# docker build -t centos:lnmp .

五、启动容器

[root@lnmp-docker lnmp]# docker run -d -p 80:80 --name lnmp centos:lnmp

六、访问php解析页面

[root@lnmp-docker lnmp]# curl 192.168.93.165/test.php
The connection is successfully!

七、访问可道云程序

  • 访问地址:http://192.168.93.165,就可以看到可道云页面了!!!
  • 设置管理用户(admin)密码,使用此密码登录就可以访问啦
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学术小白成长之路】01三方演化博弈(基于复制动态方程) -基础概念与模型构建

1.演化博弈基础知识 经典博弈论起源于1944年Von Neumann和Morgenstern合著的《博弈论与经济学行为》&#xff0c;是研究理性决策者之间竞争和合作关系的数学方法。 博弈论主要研究完全理性的博弈个体为实现利益最大化而做的策略选择&#xff0c;在过去几十年取得了极大发展&am…

计算机网络--物理层

计算机网络--计算机网络概念 计算机网络--物理层 计算机网络--数据链路层 计算机网络--网络层 计算机网络--传输层 计算机网络--应用层 1. 基本概念 物理层的概念&#xff1a;物理层解决如何在在连接各种计算机的传输媒体上传输数据比特流&#xff0c;而不是指具体的传输…

Python 如何判断一组数呈上升还是下降趋势

在数据分析和统计处理中&#xff0c;我们经常需要判断一组数的趋势是上升还是下降。这在金融市场分析、销售数据监控以及科学研究中都十分常见。本文将介绍如何使用Python来判断一组数的趋势&#xff0c;并结合实际案例进行详细阐述。 一、基本方法 判断一组数的趋势主要有以…

【CS.DB】从零到精通:这可能是全网最全面最强大的SQL入门教程

文章目录 1. 什么是SQL&#xff1f;1.1 SQL的历史1.1.1 SQL的标准化过程 2. SQL基础语法2.1 数据库操作2.1.1 创建数据库2.1.2 删除数据库 2.2 表操作2.2.1 创建表2.2.2 删除表2.2.3 修改表 2.3 数据操作2.3.1 插入数据2.3.2 更新数据2.3.3 删除数据 2.4 查询数据2.4.1 基本查询…

读取文件

自学python如何成为大佬(目录):自学python如何成为大佬(目录)_利用python语言智能手机的默认语言实战一-CSDN博客 在Python中打开文件后&#xff0c;除了可以向其写入或追加内容&#xff0c;还可以读取文件中的内容。读取文件内容主要分为以下几种情况&#xff1a; 1 读取指…

react 基础样式的控制(行内和className)

import ./index.cssconst style{color:red,font-size:150px }function App() {return (<div className"App"><h1>行内样式控制</h1><h1 style{{color:red,font-size:150px}} >asd </h1><span style{style} >asd </span>&l…

2024年跨平台应用解决方法

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 很久没有写这类high-level的文章了,本身这类框架就一直层出不穷,但是其中历久弥坚,坚韧不拔的框架又有多少呢? 首先考虑到学习成本以及掌握一些编程语言在工作、学习生态上的价值,给这些东西适用生态划分一下. Reac…

CentOS7 MySQL5.7.35主从 不停机搭建 以及配置

如需安装MySQL&#xff0c;参照MySQL 5.7.35 安装教程 https://blog.csdn.net/CsethCRM/article/details/119418841一、主&从 环境信息准备 1.1.查看硬盘信息&#xff0c;确保磁盘够用&#xff08;主&从&#xff09; df -h1.2.查看内存信息 &#xff08;主&从&am…

elasticsearch安装与使用(4)-搜索入门

1、创建索引 PUT /hotel {"mappings": {"properties":{"title":{"type": "text"},"city":{"type": "keyword"},"price":{"type":"double"}}} }2、写入文档 …

sentaurus修改界面字体

修改界面字体&#xff0c;view——table options——change table 在出现的选框中选择使用系统默认或者自定义字体

VBA经典应用69例应用5:使用VBA冻结窗格

《VBA经典应用69例》&#xff08;版权10178981&#xff09;&#xff0c;是我推出的第九套教程&#xff0c;教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开&#xff0c;这套教程案例众多&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以便…

代码随想录算法训练营第36期DAY49

DAY49 139单词拆分 没有思路。 回溯法 回溯怎么做呢&#xff1a;拼接str&#xff0c;看能不能拼出来。注意每个单词能用多次&#xff0c;不是用了就没。 但是语法还是难写。 自己的思路不好&#xff0c;题解思路&#xff1a;枚举所有分割字符串&#xff0c;判断是否在字典…

力扣每日一题85:最大矩形

题目 困难 相关标签 相关企业 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0",&q…

使用 Django 和 MQTT 构建实时数据传输应用

文章目录 什么是 MQTT&#xff1f;Django 中的 MQTT结论 在现代的 Web 应用程序开发中&#xff0c;实时数据传输变得越来越重要。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;而 Django 是一个流行的 Pyt…

如何解决访问网站时IP被限制的问题?

在互联网上&#xff0c;用户可能会面临一个令人困扰的问题——当尝试访问某个特定的网站时&#xff0c;却发现自己的IP地址被该网站屏蔽。 IP地址被网站屏蔽是一个相对常见的现象&#xff0c;而导致这种情况的原因多种多样&#xff0c;包括恶意行为、违规访问等。本文将解释IP地…

自然语言处理:第三十二章HippoRAG:性能提高20% - 受海马体启发的RAG

文章链接: HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models 项目地址: OSU-NLP-Group/HippoRAG: HippoRAG is a novel RAG framework inspired by human long-term memory that enables LLMs to continuously integrate knowledge across e…

Vue3 + TS + Antd + Pinia 从零搭建后台系统(一) 脚手架搭建 + 入口配置

简易后台系统搭建开启&#xff0c;分几篇文章更新&#xff0c;本篇主要先搭架子&#xff0c;配置入口文件等目录 效果图一、搭建脚手架&#xff1a;二、处理package.json基础需要的依赖及运行脚本三、创建环境运行文件四、填充vue.config.ts配置文件五、配置vite-env.d.ts使项目…

java 大型企业MES生产管理系统源码:MES系统与柔性化产线控制系统的关系、作用

MES定义为“位于上层的计划管理系统与底层的工业控制之间的面向车间层的管理信息系统”,它为操作人员/管理人员提供计划的执行、跟踪以及所有资源(人、设备、物料、客户需求等)的当前状态。 MES系统与柔性化产线控制系统的关系 MES&#xff08;制造执行系统&#xff09;是一种…

2003NOIP普及组真题 3. 数字游戏

线上OJ 地址&#xff1a; 【03NOIP普及组】数字游戏 此题考察的是 区间DP 前缀和 核心思想&#xff1a; 1、这道题主要考查了动态规划的思想。通过分析题目&#xff0c;可以发现需要 枚举环上所有划分为m组 的不同方案&#xff0c;来求得最大或最小值。属于 环上动态规划 问…

2024.6.7学习记录

1、css面试题复习加整理 2、dp刷题 也是水