腾讯事务处理技术验证系统3TS-Coo模块的项目环境安装使用说明

本篇文章将详细说明3TS-Coo模板的安装和使用,帮助您快速上手项目

第一部分 是简单的基础Docker相关概念,精炼的几句小白话快速理解即可;
第二部分 是快速安装项目环境的安装文档,简单几行命令搞定,小白也能轻松上手;
第三部分是对于已经安装的项目环境的简单使用的说明文档;

项目地址: https://github.com/Tencent/3TS/tree/coo-consistency-check/


1、为什么使用Docker?

正常下载安装3ts_coo的各种依赖,编译再到使用效率太低,同样的项目代码配置环境会出各种各样千奇百怪意想不到的问题,因此制作了该项目的镜像文件并部署,之后任何平台一键安装了Docker环境以后都可以再一键拉取这个镜像文件使用,也就得到了项目的环境。

2、使用Docker部署环境会增加学习成本吗?

不会,你只需要电脑上安装了Docker,都可以一键拉取镜像,然后运行容器即可,在容器中就像在正常的Linux中使用命令行操作即可,了解一点点概念,记住每次进入退出的命令并不难,安装卸载都很简单一键傻瓜操作就行。

一、快速了解基础概念

Docker是一个应用打包部署的工具基本概念如下:
镜像 :一个模板,可以理解为软件安装包 或者 类
容器 :模板的实例化,可以理解为安装后独立运行的软件 或者 类的实例化对象
仓库:存储各种各样的镜像,可以理解为应用商店 或者 包管理器

打包 :把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发 :打包好的"安装包"上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署:用"安装包"可以一个命令运行起来你的应用,跨平台自动模拟出一模一样的运行环境

Docker菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html

二、项目环境安装文档

Step1、安装Docker

1、脚本安装(推荐)

未安装过Docker的机器上,root权限执行以下命令一键安装最新版Docker(推荐),旧版本可以一键卸载

bash 复制代码
curl -s https://get.docker.com/ | sh  
sudo apt purge --autoremove docker.io

ps: 据说Docker-compose的安装集成到上面这个脚本一起了?docker-compose -v 检查一下,没有的话执行下面这个脚本一键安装便是,无非多cv一个命令运行;

容器管理器docker-compose采用Python开发所以需要先安装pip(Python环境一般默认都装了)

bash 复制代码
curl -s https://bootstrap.pypa.io/get-pip.py | python3
pip install docker-compose

2、包管理器安装

不想使用脚本也可以使用系统自带包管理工具安装

bash 复制代码
sudo apt-get update
sudo apt-get install docker
# 先安装pip3再安装docker-compose
sudo apt-get install python3-pip
pip3 install docker-compose

Docker是一个系统服务,安装完可能需要手工启动服务(脚本安装不需要)

bash 复制代码
service start docker

3、手动安装

Docker分为CE版本和EE版本,其中CE版本面向开源社区,是免费软件,选CE即可。

手动安装官方文档:https://docs.docker.com/engine/installation/

Step2、拉取镜像启动项目环境

1、获取镜像

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/open_projects/3ts_coo:1.0

2、启动容器

Docker images 查看一下镜像是否拉取成功,然后使用镜像ID启动容器

bash 复制代码
docker run -it 镜像id /bin/bash 

3、查看、进入、退出容器(日用高频,建议谨记

bash 复制代码
# 查看所有容器
docker ps -a
# 根据容器id ,进入想要的容器环境
docker exec -it 容器id /bin/bash
# 退出容器终端
exit

(扩展)4、启动、停止、重启容器

bash 复制代码
docker start  <容器 ID>
docker stop <容器 ID>
docker restart <容器 ID>

(扩展)5、打包容器

bash 复制代码
# 1、将容器打包成镜像,执行docker commit;
docker commit 容器id 容器名:版本

# 2、将镜像保存为本地文件,可以使用Docker save命令
docker save -o mssql-2019-with-cimb.tar mssql-2019-with-cimb

# 3、从文件载入镜像
docker load --input mssql-2019-with-cimb.tar

三、项目环境使用说明

启动容器,进入项目环境后情况如下(重点关注画线文件):

3ts_coo模块主要是检查数据事务的一致性,项目环境搭建好后想测试任何数据库都可以,但是作为入门这里默认配置了PostgreSQL,键入以下命令启动

bash 复制代码
/etc/init.d/postgresql start

isql pg -v 可以键入该命令检查一下是否数据库连接成功,出现下图即连接成功;


Step1 、编辑 do_test_list.txt 文件选择你想要测试的异常用例;
Step2 、编辑 autorun.sh 选择你想要测试的数据库和隔离级别后./autorun.sh,大工告成等着看结果吧!

注意1:Step2中省略了配置数据库用户名和密码,默认配置了postgresql的用户名和密码;

注意2:脚本的使用有两个版本./autorun.sh 是V1版,配置v1版数据库用户名和密码即可;

注意3:auto_test.sh和auto_test_all.sh都是已经废弃无用的脚本可以删除;

项目的安装一键搞定,项目的使用两步搞定,是不是很轻松?当然,如果你想要测试别的数据库,这里也提供一些可能的建议;

1、安装你想测试的数据库

2、安装你想测试的数据库连接器

3、配置odbc.iniodbcinst.ini文件,isql pg -v检查连接成功即可

4、修改./autorun.sh 数据库用户名和密码

5、特殊数据库需要做相应的适配;

最后的最后,回顾总结一下,本篇文章除了简单介绍docker的基础概念与安装和使用搭建了3ts项目环境,还详细的针对3TS_Coo的项目环境使用进行了说明,对于结果的解读与深入理解 和'./autorun.sh的两个版本问题将在下篇文章中发布。

-- 2023/09/11 0:50

相关推荐
博观而约取29 分钟前
Django ORM 1. 创建模型(Model)
数据库·python·django
森焱森30 分钟前
无人机三轴稳定控制(2)____根据目标俯仰角,实现俯仰稳定化控制,计算出升降舵输出
c语言·单片机·算法·架构·无人机
精灵vector2 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
晨曦丿2 小时前
双11服务器
linux·服务器·网络
Zonda要好好学习2 小时前
Python入门Day2
开发语言·python
Vertira2 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
wanhengidc2 小时前
UDP服务器主要是指什么意思?
服务器·网络协议·udp
太凉2 小时前
Python之 sorted() 函数的基本语法
python
李迟2 小时前
在Linux服务器上使用kvm创建虚拟机
java·linux·服务器
项目題供诗3 小时前
黑马python(二十四)
开发语言·python