爆肝整理,Docker容器测试-常见问题+解决(汇总)

news2024/11/16 6:25:08

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

问题1:创建 nginx 容器尝试挂载 nginx.conf 文件时报错: mounting “/root/nginx.conf” to rootfs at “/etc/nginx/nginx.conf” caused: mount through procfd: not a directory:

在自己的服务器上想通过 nginx 镜像创建容器,并挂载镜像自带的 nginx.conf 文件

docker run -it -d -v ~/nginx.conf:/etc/nginx/nginx.conf nginx

报错:

[root@poloyy ~]# docker run -it -d -v ~/nginx.conf:/etc/nginx/nginx.conf nginx
e0e4b40446a64927603b85854c3a6472b2dfa5681fcbfa0e170c16b15e5c8fdd
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/root/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
[root@poloyy ~]# client_loop: send disconnect: Broken pipe

提取关键错误信息:

mounting "/root/nginx.conf" to rootfs at "/etc/nginx/nginx.conf" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)?

将“/root/nginx.conf”挂载到“/etc/nginx/nginx.conf”的rootfs导致:通过procfd挂载:不是目录:未知:您是否试图将目录挂载到文件上(反之亦然)

根因:
不支持直接挂载文件,只能挂载文件夹
想要挂载文件,必须宿主机也要有对应的同名文件

解决方法:
可以先不挂载 nginx.conf
先从容器中复制 nginx.conf 出来
然后可以自行修改 nginx.conf,自定义配置项
创建正式使用的 nginx 容器

从 test 容器中复制 nginx.conf 出来
当然也可以去网上随便找个 nginx.conf,最重要的是宿主机要有个 nginx.conf

docker run --name test -d nginx  
docker cp test:/etc/nginx/nginx.conf /data/

创建正式的 nginx 容器,挂载 nginx.conf 文件
可以赋予权限

docker run --privileged -it -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
-v /data/nginx/html:/usr/share/nginx/html:rw \
-v /data/nginx/logs:/var/log/nginx -d nginx

问题2:运行 Mysql 容器后报错:[ERROR] InnoDB: redo log file ‘./ib_logfile0’ exists

在本机 mac docker 运行启动 mysql 容器

docker run -d -p 3306:3306 --name mysql1 -v /Users/polo/data/conf:/etc/mysql/conf.d -v /Users/polo/data/mysql:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

现象:
查看容器日志发现报错了,本地 navicat 也连不上

A1

重点就是第一句,某某某文件已存在,通常就是环境被覆盖了

根因:
之前通过 brew install 了 mysql,虽然 uninstall 了,但是本地文件并没有被删除

解决方案:

brew uninstall mysql
rm -rf /usr/local/var/mysql 

先卸载 mysql,再删掉本地的文件即可

正常启动 Mysql 容器的日志

A2

没有 ERROR 日志

问题3:容器内获取的时间和主机的时间不一样的问题

分别在容器和主机下执行 date 命令

A3

可以看到,时间是完全不一样的

解决方案:
方法1:
在运行容器时,挂载 /etc/localtime 目录

docker run -d -v /etc/localtime:/etc/localtime:ro --name git 

A4

重点就是: -v /etc/localtime:/etc/localtime:ro

方法2:

docker cp /etc/localtime [容器ID或名字]:/etc/localtime
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有拼尽全力,才能创造出无限可能;努力奋斗,才能迎接辉煌的未来;不论困难多大,坚持不懈,必将获得成功;只要心怀梦想,勇往直前,必能成就非凡。

只有坚持不懈的努力,才能创造属于自己的辉煌;只有奋发向前的勇气,才能战胜一切困难。无论前路如何曲折,只要心怀梦想,就能驶向成功的彼岸。相信自己,努力拼搏,未来将成为无限可能的舞台!

每一次的努力都将化作明日的成就,只要心怀信念、坚持奋斗,就能破茧成蝶,展翅高飞。相信自己的力量,绽放梦想的光芒,不断追逐,才能成就更美好的未来。

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

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

相关文章

9 首页和图标定制

9.1 首页 springboot的首页是写在index.html中,而index.html可以放在静态资源存放的任何一个文件夹(public、resources、static)。然后,直接运行,访问localhost:8080即可。 9.2 图标定制 对于springboot2.7.13版本&am…

应用层:域名系统DNS

1.应用层:域名系统DNS(Domain Name System) 笔记来源: 湖科大教书匠:应用层概述 湖科大教书匠:域名系统DNS 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 DNS报文使用运输层的…

Rust 动态数组Vec基本概念及其用法

目录 一、基本概念 Vec是什么? Vec的特点 (1)动态大小: (2)可变性: (3)泛型: 二、基础用法 1. 创建 (1) Vec::new()方法 (2) Vec::from()方法 (3) vec! 宏 2. 基础用法 三、Vec的简单实现及其宏模拟 四、leetcode 实…

vue开发图表echarts基本使用

官网传送门 1.echarts-介绍 是一个js插件 性能好可流畅远行PC和移动设备 兼容主流浏览器 提供很多图标,用户且可自行修改。 2.使用npm安装 npm install echarts3.echarts-基础配置 series -- 系列列表。每个系列通过 type 决定自己的图表类型 -- 大白话&#xff…

Web安全——数据库mysql学习

数据库mysql基础 Web安全分享一、数据库的基本操作1、MYSQL登录与退出2、MYSQL数据库的一些解释3、MYSQL注释符有三种: 二、数据库的一些基本操作1、数据库的增删改查(sql语句) 三、table 表的操作1、查看表结构2、查看表的内容3、建立表4、约束条件5、修改表的操作…

小红书发布图文视频笔记软件

小红书发布图文视频笔记软件,🆘这个工具,不愧是做小红书的神!附教程#新媒体 #微信创作者助手 #小红书 微信时刻 软件有月卡、季卡、半年卡、年卡 【引流脚本软件开发定制,欢迎你】 服务时间:(8&#xff1a…

公司新来了个测试,一副毛头小子的样儿,哪想到是新一代卷王。。。

内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。 在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是…

vue基础-某个项目ESLint不生效问题

文章目录 前言一、解决方法二、在配置文件中添加一下配置三、本人电脑的ESLint配置总结 前言 vue基础,最近接手同事的项目,发现ESLint不生效了,找了很久也没有发现问题,因为其他的项目是可以用的。 一、解决方法 1、在vscode中打…

KafKa 3.x(二、Broker,消费者)

4. Kafka Broker 4.1 kafka Broker工作流程 4.1.1 Zoopkeeper存储的Kafka信息 启动Zookeeper客户端通过ls命令查看kafka相关信息 在Zookeeper的服务端存储的Kafka相关信息 /kafka/brokers/ids [0,1,2] 记录那些服务器/kafka/brokers/topics/first/partitions/0/state {“l…

关于超卖程序问题分析-java

关于超卖程序问题分析 1.并发情况下,GET缓存 判断>0,成立,均执行扣减库存,导致超卖 2.加锁 以库存key,加锁,setNx,finally解锁 deleteKey 存在问题 1.误解锁(是不是也是因为…

Android 11 SystemUI 启动流程

SystemUI 有哪内容 从表面上看, 我们看到的状态栏、通知栏、下拉菜单、导航栏、锁屏、最近任务、低电提示等系统页面都是 SystemUI 的。SystemUI,在源码目录中位于: framework/base/packages 目录下, 可见 SystemUI 和 framework…

vue3脚本绑定CodeMirror的使用

代码&#xff1a; <template><CodeMirrorref"codeMirror":value"codeVal":languageSingle"languageSingle":readOnly"!isEdit"submitCode"submitCode"></CodeMirror> </template><script setup…

文华财经期货APP随身行和同花顺期货可以模拟交易的期货软件,那个更好用?

期货app是一种可以在手机上进行期货交易和行情分析的软件&#xff0c;它可以让投资者随时随地掌握期货市场的动态&#xff0c;进行投资决策。随着科技的发展&#xff0c;越来越多的期货投资者选择通过手机端app来进行期货交易&#xff0c;享受随时随地、方便快捷的服务。市面上…

Js获取浏览器地址栏参数

获取浏览器地址参数 //获取浏览器地址栏参数function getQueryString(name) {var reg new RegExp("(^|&)" name "([^&]*)(&|$)");var result window.location.search.substr(1).match(reg);if (result ! null) {return unescape(result[2…

VMware 17虚拟Ubuntu 22.04设置共享目录

之前使用VM 17之前的版本虚拟CentOS&#xff0c;设置共享目录非常方便&#xff0c;在CentOS中安装VMware Tools即可。随着CentOS变成上游版本后&#xff0c;转向使用Ubuntu&#xff0c;VM也升级到了17&#xff0c;Ubuntu也升级到了最新的22.04&#xff0c;但是发现共享目录不能…

阿里大牛新产Java面试速成指南,主打就是躺着拿Ofeer

很多粉丝后台留言&#xff0c;Java程序员面临的竞争太激烈了…… 我自己也有实感&#xff0c;多年身处一线互联网公司&#xff0c;虽没有直面过求职跳槽的残酷&#xff0c;但经常担任技术面试考官&#xff0c;对程序员招聘市场的现状很清楚。导致现在激烈竞争的原因不外乎三方面…

sqlite-manage数据库可视化管理uniqpp

一、sqlite-manage介绍 sqlite-manage 是 SQLite 数据库可视化管理插件&#xff0c;更方前期查看和操作SQLite数据库&#xff0c;给APP开发者提供方便&#xff0c;避免重复造轮子。 内置增删改查工具类&#xff0c;可按需全局引用或单独引用。 二、使用sqlite要打开模块选项 三…

java 计算网段范围 分析网段包含关系

目录 一、网段范围 二、思路说明 三、代码 1、将一个ip转为数字 2、转换子网掩码&#xff08;255.255.255.0 转为 24&#xff09; 3、根据 ip 与 掩码 计算最大值和最小值 4、测试 5、完整代码 四、难点讲解 1、转换子网掩码&#xff0c; 例&#xff1a;255.255.25…

【习题之Python篇】习题24——回文

问题描述 2020年春节期间&#xff0c;有一个特殊的日期引起了大家的注意&#xff1a;2020年2月2日。因为如果将这个日期按 yyyymmdd 的格式写成一个8位数是 &#xff0c;恰好是一个回文数。我们称这样的日期是回文日期。 有人表示 是“千年一遇”的特殊日子。对此小明很不认同…

JavaWeb 速通CSS

目录 一、CSS入门 1.基本介绍 : 2.CSS的作用 : 3.CSS的语法 : 二、CSS样式 1.字体颜色&#xff1a; 1 说明 2 演示 2.边框 : 1 说明 2 演示 3.背景颜色 : 1 说明 2 演示 4.字体样式 : 1 说明 2 演示 5.div块居中 : 1 说明 2 演示 6.div文本居中 : 1 说明 2 演示 7.超…