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;并结合实际案例进行详细阐述。 一、基本方法 判断一组数的趋势主要有以…

Python字符串操作 -- 拆分字符串(对一列数据批量操作)

先创建一个列表&#xff0c;由两段字符串组成&#xff1a; df [第一段话&#xff0c;就到此为止。,第二段话&#xff0c;下次再说&#xff1f;或者下下次。] 1.拆分后的句子&#xff0c;每个句子单独为一行 df1 [] # 创建一个空列表放拆分后的数据 for i in range(len(df…

【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 基本查询…

React Native 之 expo-cli使用 (二十四)

expo-cli是用于创建、运行和部署Universal Expo和React Native应用程序的工具。 1. 安装expo-cli 命令行或终端中运行以下命令来全局安装expo-cli&#xff1a; npm install -g expo-cli # 或者使用yarn yarn global add expo-cli//安装完成后&#xff0c;你可以通过运行ex…

什么是(RAG)检索增强生成?

检索增强生成&#xff08;Retrieval-Augmented Generation&#xff09; 在人工智能领域&#xff0c;生成式模型&#xff08;Generative Models&#xff09;如语言模型&#xff08;Language Models, LMs&#xff09;&#xff0c;能够根据给定的输入生成连贯且有意义的文本。然而…

读取文件

自学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…

Docker——容器技术的发展

容器技术发展史 一、Jail时代 ​ 1979年&#xff0c;贝尔实验室发明了chroot&#xff1b;当一个系统软件编译完成之后&#xff0c;整个测试环境的变量便会发生变化&#xff1b;chroot就是将一个进程的文件系统进行隔离&#xff0c;将不同进程的的根目录发生改变&#xff1b;这…

Markdown入门语法笔记

Markdown入门语法笔记 引言 Markdown是一种轻量级的文本标记语言&#xff0c;基于“内容才是本质”的理念进行设计&#xff0c;排版格式简洁自然&#xff0c;让创作者将更多时间集中在内容创作而非排版上。Markdown在当今世界上应用非常广泛&#xff0c;论文排版、说明文档、…

2024年跨平台应用解决方法

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

tippecanoe-enumerate解释解释和使用示例

tippecanoe-enumerate 是 Tippecanoe 工具集中的一个实用命令,用于枚举和显示 MBTiles 文件中的所有瓦片信息。它可以帮助您查看和验证 MBTiles 文件中包含的瓦片数量、缩放级别、坐标等详细信息。这对于了解数据的分布和结构非常有用。 主要功能 枚举瓦片:列出 MBTiles 文件…

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…

Ansible——cron模块

目录 参数总结 示例1&#xff1a;创建一个定时任务 示例2&#xff1a;删除一个定时任务 示例3&#xff1a;每周一早上 3 点清理临时文件 示例4&#xff1a;每小时运行一次日志轮转 示例5&#xff1a;为指定用户添加一个定时任务 Playbook (YAML 格式) 中管理定时任务。 …

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…