tcexam 本地容器化搭建

PS: 参考[使用docker搭建tcexam在线考试平台-CSDN博客],在本机Windows 11下使用 wsl2 和 docker-desktop,只记录和总结容器创建和install步骤,重点是踩的坑和解决的方法。

1. 解读 tcexam_docker

1.1 Git下载 tcexam_docker 工程源码至宿主机的本地目录

这里的宿主机既可以是 Linux 宿主机(或 wsl Linux 宿主机),也可以是 Windows 宿主机,目的只是把工程 clone 下来,具体的目录路径无所谓。

mkdir ~/git && cd ~/git
git clone https://gitee.com/39627020/tcexam_docker.git

1.2 tcexam_docker 工程源码结构

这里的 tcexam_docker 目录本质上就是一个 tcexam_14.1.12 版本的 tcexam 源代码, 加上一个Dockerfile 文件,以及 docker-compose.yml + php.ini 这两个我们要使用的文件

xavier@RogZhou:~/git/tcexam_docker$ ll
total 260
drwxr-xr-x 10 xavier xavier  4096 Dec  3 23:04 ./
drwxr-xr-x  3 xavier xavier  4096 Dec  3 22:57 ../
drwxr-xr-x  8 xavier xavier  4096 Dec  3 17:54 .git/
-rw-r--r--  1 xavier xavier    13 Dec  3 17:54 .gitignore
-rw-r--r--  1 xavier xavier 55689 Dec  3 17:54 CHANGELOG.TXT
-rw-r--r--  1 xavier xavier   151 Dec  3 17:54 Dockerfile
-rw-r--r--  1 xavier xavier   312 Dec  3 17:54 INSTALL.TXT
-rw-r--r--  1 xavier xavier  2186 Dec  3 17:54 LATEX_README.TXT
-rw-r--r--  1 xavier xavier 33305 Dec  3 17:54 LICENSE.TXT
-rw-r--r--  1 xavier xavier  3465 Dec  3 17:54 README.md
-rw-r--r--  1 xavier xavier     2 Dec  3 17:54 RELEASE
-rw-r--r--  1 xavier xavier  1918 Dec  3 17:54 TRANSLATORS.TXT
-rw-r--r--  1 xavier xavier  2372 Dec  3 17:54 UPGRADE.TXT
-rw-r--r--  1 xavier xavier     8 Dec  3 17:54 VERSION
drwxr-xr-x  7 xavier xavier  4096 Dec  3 18:01 admin/
drwxr-xr-x  5 xavier xavier  4096 Dec  3 17:54 cache/
-rw-r--r--  1 xavier xavier   284 Dec  3 23:04 docker-compose.yml
-rw-r--r--  1 xavier xavier  1150 Dec  3 17:54 favicon.ico
drwxr-xr-x  7 xavier xavier 12288 Dec  3 17:54 fonts/
drwxr-xr-x  4 xavier xavier  4096 Dec  3 17:54 images/
-rw-r--r--  1 xavier xavier   986 Dec  3 17:54 index.php
drwxrwxrwx  3 xavier xavier 

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

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

相关文章

Java---类的继承

文章目录 1. 理解继承2. 继承概述3. 代码块理解4. 继承的好处与弊端5. 继承中变量的访问特点6. super关键字7. 继承中构造方法访问特点8. 继承中成员方法访问特点9. 方法重写10. 方法重写注意事项11. Java继承注意事项 1. 理解继承 2. 继承概述 1. 继承是面向对象的三大特征之一…

免费好用的api整理合集

免费api接口大全分享~ 二维码生成器:可生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。 实人认证(人像三要素):输入姓名、身份证号码和一张人脸照片&a…

Java的严格计算部分

注释:在Math类中,为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程。 如果得到一个完全可预测的结果比运行速度更重要的话,那么就应该使用StrictMath类。 它使用“自由发布的Math库”(fdlibm)实…

客观题测试-第6章图

第1关:图-客观题测试 (一) 1、无向图中一个顶点的度是指图中()。 A、通过该顶点的简单路径数 B、与该顶点相邻接的顶点数 C、与该顶点连通的顶点数 D、通过该顶点的回路数 2、以下说法正确的是(&…

spring boot 2 升级到 spring boot 3 后文件上传失败

背景 项目需要,要求升级 spring boot 2.7 到 spring boot 3.2,升级过程中发现很多不兼容问题,下面说明文件上传失败的解决方案。 问题 spring boot 2 中不需要额外的配置,直接在 Controller 中配置 MultipartFile 接收页面传的…

Linix服务器添加dns解析

Linix开通互联网域名地址出现,如下错误: 需要访问的服务器上添加dns解析 vim /etc/sysconfig/network-scripts/ifcfg-ens192 添加如下配置: DNS1202.96.134.13 重启网卡: systemctl restart network 注意如果是docker服务部署…

利用github copilot完成代码,利用正则化完成字符串中信息查找

利用正则化完成字符串中的字符拆解。 下面的代码是实现在“计算机组成原理-计科2101-123456-小明同学.docx”中提取出班级(grade),学号(id),姓名(name)。以下的代码都是github copi…

vivado时序方法检查2

TIMING-4 &#xff1a; 时钟树上的基准时钟重新定义无效 时钟树上的时钟重新定义无效。基准时钟 <clock_name> 是在时钟 <clock_name> 下游定义的 &#xff0c; 并覆盖其插入延迟和/ 或波形定义。 描述 基准时钟必须在时钟树的源时钟上定义。例如 &#xff0…

企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…

美国DMF号查询方法及网址

美国的DMF制度于1989年开始实施&#xff0c;并一直延续至今。美国DMF制度是首创&#xff0c;欧洲以及其他后续的加拿大、澳大利亚等&#xff0c;都是在仿美国的DMF制度。下面笔者就带大家来了解什么是美国DMF&#xff1f;如何快速查询美国DMF注册备案信息&#xff1f; 关于DMF的…

记录PTA编程题练习7-35 有理数均值——Python3实现

题目描述&#xff1a; 本题要求编写程序&#xff0c;计算N个有理数的平均值。 输入格式&#xff1a; 输入第一行给出正整数N&#xff08;≤100&#xff09;&#xff1b;第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数&#xff0c;其中分子和分母全是整形范围内的整…

Spring-AOP

目录 一、引入AOP 二、核心AOP概念和术语 三、切点表达式 四、Spring实现AOP &#xff08;一&#xff09;AspectJ的支持 1 、基于注解开发 1.1 引入依赖 1.2 实现目标类 1.3 定义切面类&#xff08;日志管理&#xff09; 1.4 将目标类和切面类纳入Spring容器 1.5 开…

JFrog Artifactory—高性能软件制品管理仓库

产品概述 JFrog Artifactory是一个可扩展的通用二进制存储库管理器&#xff0c;可在整个应用程序开发和交付过程中自动管理工件和依赖项。JFrog Artifactory支持大多数开发语言&#xff0c;是整个DevOps流水线中大多数软件包、容器映像和Helm图表的单一数据源。Artifactory对元…

四.多表查询

多表查询 1.一个案例引发的多表连接1.1案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3案例分析与问题解决 2.多表查询分类讲解分类1&#xff1a;等值连接vs非等值连接分类2&#xff1a;自连接vs非自连接分类3&#xff1a;内连接vs外连接 3.SQL99语法实现多表…

RepidJson将内容写入文件简单代码示例

以下是使用RapidJSON将内容写入文件的示例代码&#xff1a; #include <rapidjson/document.h> #include <rapidjson/writer.h> #include <rapidjson/stringbuffer.h> #include <iostream> #include <fstream>using namespace rapidjson;int mai…

C# 方法的递归调用

在C#中&#xff0c;递归调用是指一个方法调用自身的过程。它是一种常用的编程技巧&#xff0c;用于解决可以分解为相似子问题的问题。以下是在C#中使用递归调用的几个要点&#xff1a; 1. 递归方法的定义&#xff1a; 在方法中调用自身来实现递归。通常需要定义基本情况作为递…

TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers

目录 笔记后续的研究方向摘要引言之前的工作。我们的研究贡献 TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers CCS 2023 笔记 本文介绍了一种名为 TsuKing 的新型 DNS 放大攻击。与以前利用单个DNS解析器的攻击不同&#xff0c;TsuKing协调多个…

ES6基础语法

目录 一、解构 数组解构 对象解构 字符串解构 数值解构 布尔值解构 二、箭头函数 和普通函数区别? 三、拓展运算符 ... 一、解构 给右侧值匹配对应的变量 等号两侧模式一定要匹配 数组解构 /*** 解构&#xff1a;从数组或者对象中提取值&#xff0c;给变量进行赋值操作就…

SELinux refpolicy详解(11)

接前一篇文章:SELinux refpolicy详解(10) 三、refpolicy内容详解 上一回讲解完了refpolicy源码根目录下的INSTALL文件。本回继续讲解源码根目录下的其它文件。第四个来讲解refpolicy源码根目录下的Rules.monolithic文件。 4. Rules.monolithic 文件路径:refpolicy源码根…

threejs WebGLRenderer 像素比对画布大小的影响

官方文档 - WebGLRenderer .setPixelRatio ( value : number ) : undefined 设置设备像素比。通常用于避免HiDPI设备上绘图模糊 .setSize ( width : Integer, height : Integer, updateStyle : Boolean ) : undefined 将输出canvas的大小调整为(width, height)并考虑设备像素比…