Q: 新机器上需要做哪些准备工作? A: 配置管理口, 用于跟MS和测试机通信。 部署git和对应的账号, 便于从git中拉代码。 添加五个口业务口, 一个用于curl/wget/nslookup等操作(需要配置ip地址), 两个是trex(不需要配置ip地址), 两个是tcpreplay。 配置有效的mirrorlist(因环境而定)。 配置dns为8.8.8.8。 关闭防火墙, 并确保生效: systemctl disable firewalld.service Q: centos8仓库中的mirrolist不生效, 怎么办? A: 执行下面命令: wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo 或curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache 另外某些仓库如果不用, 可以把enable改成0, 如CentOS-Linux-AppStream.repo、CentOS-Linux-BaseOS.repo。 Q: centos9需要修改仓库并删除podman吗? A: statrt.sh中有更新镜像源的步骤。不需要删除podman。 Q: start.sh文件放在哪? A: 放在/opt目录下。 Q: start_service.sh与start.sh有什么区别? A: 对于新系统,只需要在/opt下运行./start.sh即可, 下载相关脚本, 同时自动构建并启动所有服务, 制作成image, 总耗时大概25分钟左右。 而start_service.sh则是用于单独启动docker容器以及托管服务, 如果需要修改配置文件或拉取最新的脚本, 可直接运行start_service.sh, 耗时大概是15-25秒。 Q: 为什么把下载脚本的操作放到start.sh中? A: 下载脚本相对较耗时, 为了节省时间, 将下载脚本的操作放到start.sh中。 Q: 如果在centos8/9上运行./start.sh时, 报错: -bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory A: 可能是因为存在windows风格的行尾符, 执行sed -i 's/\r$//' start.sh, 然后再执行./start.sh即可。 Q: centos8安装docker出现跟podman冲突, 如何解决? A: 运行yum erase podman buildah, 再重新执行./start.sh。 Q: 关于Python和Chrome的版本? A: 每隔一段时间对Python和Chrome版本进行更新, 更新后需要重新构建基础镜像。 Q: configuration_file.ini中每个参数的含义? A: selenium_server用于ui自动化, 因为docker中的镜像会自动寻址并修改selenium的ip, 所以该参数在docker中没意义。 test_pc是测试机的业务ip。 traffic_playback是traffic_replay的路径。 Q: 安装trex的注意事项? A: trex是部署在基础镜像中, 如果在configuration_file.ini修改trex的收发包接口后, 需要重新构建基础镜像。 Q: mobaXterm等工具运行sh时, 需要的注意事项? A: 如果mobaXterm等工具不关闭, 要电脑设置中的ssh keepalive。如果mobaXterm不能长时间保持开启, 则需要带着nohup执行命令行, 即: nohup ./start_service.sh &或nohup ./start.sh &。 Q: clone一个docker环境后, ms发的请求, docker始终接收不到, 如何解决? A: 1.保证运行docker的虚机防火墙是否关闭。 2.检查ms的运行环境中配置的地址是否是docker所在虚机的地址并保证能够ping通。 3.清理无效的docekr容器和images以及垃圾数据(docker system prune)。 4.重启docker所在的虚机。