Docker从入门到精通

article/2025/10/24 12:31:51

目录

一、初识 Docker

1、Docker概念

2、安装Docker(CentOS系统)

3、Docker的架构

4、阿里云镜像加速

5、Docker容器虚拟化 与 传统虚拟机比较

二、Docker 服务相关命令

1、启动docker 服务:

2、停止docker 服务:

3、重启docker 服务:

4、查看docker 服务状态:

5、设置开机启动docker:

三、Docker 镜像相关命令

1、查看镜像:查看本地所有的镜像

2、搜索镜像:从网络中查找需要的镜像

3、拉取镜像:

4、删除镜像:删除本地镜像

四、Docker 容器相关命令

1、查看容器

2、创建容器

3、进入容器

4、退出容器

5、启动容器  

 6、删除容器 

 7、查看容器信息  

 8、查看容器进程  

9、查看容器日志

五、Docker 容器的数据卷

1、数据卷的概念:

2、数据卷的作用:

3、创建启动容器时,配置数据卷:

4、配置数据卷容器

六、Docker 应用部署

MySQL部署

Tomcat部署

Nginx部署

Redis部署

七、DockerFile

1、Linux文件系统的组成

2、Docker镜像原理

3、思考

4、dcokerfile

概念:dockerfile 是用来构建docker镜像的文件

构建步骤

dockerfile基础知识

dockerfile基本指令

5、镜像制作

方式一:容器转为镜像(目录挂载的文件不会生效)不推荐

方式二:dockerfile 推荐

八、Dockers Compose 

1、概述

2、安装Docker Compose

3、卸载Docker Compose

案例

使用docker compose编排nginx+springboot项目

九、Docker私有仓库

1、私有仓库搭建

2、上传镜像到私有仓库

3、从私有仓库拉取镜像


一、初识 Docker

1、Docker概念

  • Docker是一个开源的应用容器引擎
  • 诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名Docker Inc)
  • Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上
  • 容器是完全使用沙箱机制,相互隔离
  • 容器性能开销极低

​ Docker可以运行在在MAC、Windows、CentOS、UBUNTU等操作系统上

​ 官网:

https://www.docker.com

2、安装Docker(CentOS系统)

# 1. yum包更新到最新
yum update# 2. 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2# ​3. 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo#​ 4. 安装docker,出现输入的界面都按 y
yum install -y docker-ce#​ 5. 查看docker版本,验证是否成功
docker -v

3、Docker的架构

  • 镜像(image)

docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像====》tomcat容器(提供服务器),

通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器的)

  • 容器(container)

Docker利用容器技术,独立运行一个或者一个组应用,Docker容器是通过Docker镜像来创建的。目前就可以吧这个容器理解为一个简易的linux系统

  • 仓库(repository)

仓库就是存放镜像的地方!仓库分为共有仓库和私有仓库!

概念说明

Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。

Docker 容器(Container)

容器是独立运行的一个或一组应用,是镜像运行时的实体。

Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker SDK (Develop with Docker Engine SDKs | Docker Documentation) 与 Docker 的守护进程通信。

Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker Registry

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

4、阿里云镜像加速

1、登入阿里云,找到容器镜像服务

2、找到镜像加速地址

3、配置使用

复制2中的命令依次执行

5、Docker容器虚拟化 与 传统虚拟机比较

容器就是将软件打包成标准化单元,以用于开发、交付和部署

  • 容器镜像是轻量级的、可执行的独立软件包,包含软件运行所需要的所有内容:代码、运行时环境、系统工具、系统库和设置
  • 容器化软件在任何环境中都能够始终如一地运行
  • 容器赋予了软件独立性,使其免受外在环境差异的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突

相同:

  • 容器和虚拟机具有相似的资源隔离和分配优势

不同:

  • 容器虚拟化的是操作系统,虚拟机虚拟化的时硬件
  • 传统的虚拟机可以运行不同的操作系统,容器只能运行同一类型的操作系统
特性容器虚拟机
启动秒级分钟级
性能接近原生弱于
系统支持两单机支持上千个容器一般几十个

二、Docker 服务相关命令

# 启动docker容器
systemctl start docker# 停止docker容器
systemctl stop docker# 重启docker容器
systemctl restart docker# 查看docker容器状态
systemctl status docker# 设置开机自启动docker容器
systemctl enable docker

三、Docker 镜像相关命令

# 1、查看本地镜像
docker images
docker images -q  # 查看所有镜像的id# 2、搜索镜像(从网络中查找)
docker search 镜像名称
docker search 镜像名称 --filter=stars=3000 #过滤出收藏量大于3000的镜像# 3、拉取镜像
docker pull 镜像名称:版本号 #如果没有写版本号,默认拉取最新的laster版本# 4、删除镜像
docker rmi 镜像id/镜像名称:版本号 #删除指定的本地镜像
docker rmi `docker images -q` #删除本地的所有镜像

四、Docker 容器相关命令

# 1、创建容器
docker run 参数 容器名称:版本号 /bin/bash
/bin/bash  代表创建容器后立即进入容器 
参数说明:
-i: 以交互模式运行容器(保持容器运行),如果参数为-it,容器创建后自动进入容器中,退出容器后,容器自动关闭
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d: 后台运行容器,并返回容器ID,需要使用docker exec目录进入容器,退出容器后,容器不会自动关闭
--name : 为容器指定一个名称
-v 宿主机目录:容器目录 :给容器绑定一个数据卷(可以使用多个-v绑定多个数据卷)
-e:设置环境变量
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口# 2、查看容器
docker ps # 查看正在运行的容器
docker ps -a # 查看所有的容器# 3、进入容器
docker exec -it 容器名/容器id bash# 4、退出容器
exit# 5、启动容器
docker start 容器名/容器id# 6、删除容器
docker rm 容器名/容器id
docker rm `docker -ps -aq` #删除所有的容器# 7、查看容器进程
docker top 容器名/容器id# 8、查看容器信息
docker inspect 容器名/容器id# 9、查看容器日志
docker logs 参数 容器名/容器id
参数说明:
-f :跟踪输出
-t :显示时间戳
--tail 10 :显示日志的行数为10
--since:"2022-05-16" :显示某个日期至今的所有日志

五、Docker 容器的数据卷

1、概念:

  • 数据卷是宿主机中的一个目录或文件
  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
  • 一个数据卷可以被多个容器同时挂载
  • 一个容器也可以被挂载多个数据卷

2、作用:

  • 容器数据持久化
  • 外部计价器和容器间接通信
  • 容器之间数据交换

3、创建启动容器时,配置数据卷:

docker run ... -v 宿主机目录(文件):容器内目录(文件) ...
  • 注意事项:

    1. 目录必须是绝对路径
    2. 如果目录不存在,会自动创建
    3. 可以挂载多个数据卷
    4. 容器删除后,宿主机的目录不会删除
    5. 2个容器进行数据通信时,可以在2个容器中挂载宿主机中的同一个目录,从而实现2个容器的通信

4、数据卷容器

  • 作用:让两个容器实现数据共享
  • 创建并启动数据卷容器(c3),使用-v参数 设置数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash
  • 创建启动c1 c2容器,使用--volumes-from参数 设置数据卷

docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
  • 注意事项:
    1. 当数据卷容器c3停止、删除时,都不会影响容器c1和c2容器的数据卷以及通信

六、Docker 应用部署

MySQL部署

# 1、拉取mysql5.7镜像
docker pull mysql:5.7# 2、创建并启动容器(设置端口号、root账号密码、数据卷)
docker run -id -p 3307:3306 --name myMysql -v /root/docker_data/mysql/conf:/etc/mysql/conf.d -v /root/docker_data/mysql/logs/:/logs -v /root/docker_data/mysql/data/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7参数说明:
-p 3307:3306:将容器的3306端口映射到宿主机的3307端口
-v /root/docker_data/mysql/conf:/etc/mysql/conf.d :将宿主机的/root/docker_data/mysql/conf目录挂载到容器的/etc/mysql/conf.d目录
-v /root/docker_data/mysql/logs/:/logs:将宿主机的/root/docker_data/mysql/logs/目录挂载到容器的/logs目录
-v /root/docker_data/mysql/data/:/var/lib/mysql:将宿主机的/root/docker_data/mysql/data/目录挂载到容器的/var/lib/mysql目录
-e MYSQL_ROOT_PASSWORD=123456:初始化root 用户密码

Tomcat部署

# 1、拉取tomcat镜像
docker pull tomcat# 2、创建并启动容器(设置端口号、数据卷)
docker run -id -p 8008:8080 -v /root/docker_data/tomcat/webapps/:/usr/local/tomcat/webapps --name myTomcat tomcat:latest参数说明:
-p 8008:8080:将容器的8080端口映射到宿主机的8008端口
-v /root/docker_data/tomcat/webapps/:/usr/local/tomcat/webapps:将宿主机的/root/docker_data/tomcat/webapps/目录挂载到容器的/usr/local/tomcat/webapps目录

Nginx部署

# 1、拉取nginx镜像
docker pull nginx# 2、创建nginx的配置文件
mkdir /root/docker_data/nginx/conf/nginx
vim nginx.conf# 3、将配置写在nginx.conf中# 4、创建并启动容器(设置端口号、数据卷)
docker run -id --name myNginx -p 80:80 -v /root/docker_data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/docker_data/nginx/logs:/var/log/nginx -v /root/docker_data/nginx/html:/usr/share/nginx/html nginx:latest参数说明:
-p 80:80:将容器的80端口映射到宿主机的80端口
-v /root/docker_data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将宿主机的/root/docker_data/nginx/conf/nginx.conf目录挂载到容器的/etc/nginx/nginx.conf目录
-v /root/docker_data/nginx/logs:/var/log/nginx:将宿主机的/root/docker_data/nginx/logs目录挂载到容器的/var/log/nginx目录 
-v /root/docker_data/nginx/html:/usr/share/nginx/html:将宿主机的/root/docker_data/nginx/html目录挂载到容器的/usr/share/nginx/html目录

nginx.conf中的内容: 

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;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;keepalive_timeout  65;#gzip  on;include /etc/nginx/conf.d/*.conf;
}

Redis部署

# 1、拉取redis镜像
docker pull redis# 2、创建并启动容器(设置端口号)
docker run -id -p 6379:6379  --name myRedis redis:latest参数说明:
-p 6379:6379:将容器的8080端口映射到宿主机的8008端口

七、DockerFile

1、Linux文件系统的组成

由bootfs 和rootfs 两部分组成:

  • bootfs:包含bootloader(引导加载程序)和kernel(内核)
  • rootfs:root文件系统,包含的就是典型的Linux 系统中的/dev、/proc、/bin等标准目录和文件
  • 不同的Linux 发行版,bootfs 基本一样,而rootfs 不同,如ubuntu,CentOS等

2、Docker镜像原理

  • Docker 镜像是由特殊的文件系统叠加而成
  • 最低端是bootfs,并使用宿主机的bootfs
  • 第二层是root 文件系统rootfs ,称为base iamge
  • 然后再往上可以叠加其他的镜像文件
  • 一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像,最底部的镜像称为基础镜像
  • 当从一个镜像启动容器时,Docker会在最顶层加载一个读写文件系统作为容器

3、思考

Docker 镜像的本质是什么?

        是一个分层的文件系统

Docker 中一个CentOS 镜像为什么只有200MB,而一个CentOS 操作系统的iso 文件要几个G?

        CentOS的iso镜像文件包含bootfs和rootfs,而Docker的CentOS镜像复用操作系统的bootfs,只有rootfs和其他镜像层

Docker 中一个Tomcat 镜像为什么有500MB,而一个Tomcat 安装包只有70多MB?

        由于Docker中镜像是分层的,tomcat虽然只有70多MB,但他需要依赖于父镜像和基础镜像,所以整个对外暴露的tomcat镜像大小500多MB

4、dcokerfile

概念:dockerfile 是用来构建docker镜像的文件

  • Dockerfile 是一个文本文件,文件里面包含了一条条的指令。
  • 每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像。
  • 对于开发人员,可以为开发团队提供一个完全一致的开发环境。
  • 对于测试人员,可以直接拿开发时所构建的镜像或者通过Dockerfile 文件构建一个新的镜像开始工作了。
  • 对于运维人员,在部署时,可以实现应用的无缝移植。

构建步骤

  • 编写一个dockerfile文件
  • docker build 构建一个镜像
  • docker run 运行镜像
  • docker push 发布镜像

dockerfile基础知识

  • 每个保留关键字(指令)都必须是大写字母
  • 执行从上到下顺序执行
  • #表示注释
  • 每个指令都是创建提交一个新的镜像层,并提交!

dockerfile基本指令

FROM			# 基础镜像,就是一切从这里构建 centos
MAINTAINER		# 镜像是谁写的,姓名+邮箱
RUN				# 镜像构建的时候需要运行的命令
ADD				# 步骤,tomcat镜像,这个tomcat压缩包就是添加的内容
WORKDIR			# 镜像的工作目录
VOLUME			# 挂载的目录位置
EXPOSE			# 暴露端口配置  -p
CMD				# 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT		# 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD			# 当构建一个被继承DockerFil,这个时候就会触发onbuild的指令
COPY			# 类似ADD命令,将我们文件拷贝到镜像中
ENV				#构建的时候设置环境变量! 比如说设置内存大小,mysql的密码


5、镜像制作

方式一:容器转为镜像(目录挂载的文件不会生效)不推荐

将容器转为镜像

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:版本

将镜像转化为压缩文件

docker save -o 压缩文件名称 镜像名称:版本号

 将压缩文件转为镜像

docker load -i 压缩文件名称

方式二:dockerfile 推荐

案例一:创建一个自己的centos

​ 1、编写dockerfile的配置文件:

FROM centos
MAINTAINER 怀揣着梦想出发ENV MYPATH /usr/local
WORKDIR $MYPATH#​因为centOS8于2021年12月31日停止了源的服务,所以这里直接安装vim和net-tools是会报错的
#Error: Failed to download metadata for repo ‘AppStream‘: xxxxRUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN yum update -y
RUN curl -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
RUN yum clean all
RUN yum makecache
RUN find . -name 'CentOS-Linux-*' -exec rm {} \;
RUN yum -y install vim
RUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATH
CMD echo "----------------end------------"
CMD /bin/bash

2、再通过这个文件构建镜像(注意后面有个点

#命令格式:  docker build -f dockerfile文件路径 -t 镜像名字:【TAG】.docker build -f mydockerfile-centos -t mycentos:1.0 .

3、查看镜像是否生成

docker images

解决docker加载新的镜像后repository和tag名称都为none的问题

docker tag [image id] [name]:[版本]

4、运行并测试

案例二、定义dockerfile,发布springboot 项目

1、编写dockerfile的配置文件:

FROM java:8COPY *.jar /app.jarCMD ["--server.port=8080"]EXPOSE 8008ENTRYPOINT ["java","-jar","/app.jar"]

2、通过dockerfile 构建镜像

docker build -f dockerfile文件路径 -t 镜像名称:版本

3、查看镜像是否生成

docker images

4、运行并测试

八、Dockers Compose 

1、概述

Docker Compose 是一个编排多容器分布式部署的工具,提供命令集管理器化应用的完整开发期,包括服务构建,启动和停止。使用步骤:

  1. 利用 Dockerfile 定义运行环境镜像
  2. 使用 docker-compose.yml 定义组成应用的各服务
  3. 运行 docker-compose up 启动应用

2、安装Docker Compose

#Compose 目前已经完全支持Linux、MAC OS、Windows,在安装Compose之前,需要先安装Docker。下面以编译好的二进制包方式安装在Linux中
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
#设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
#查看版本信息
docker-compose -version

3、卸载Docker Compose

#二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose

案例

使用docker compose编排nginx+springboot项目

1、创建docker-compose目录

mkdir ~/docker-compose
cd ~/docker-compose

2、编写docker-compose.yml文件

version: '3'
services:nginx:iamge: nginxports:- 80:80links:- appvolumes:- ./nginx/conf.d:/etc/nginx/conf.dapp:image: appexpose:- "8080"

3、创建./nginx/conf.d目录

mkdir -p ./nginx/conf.d

4、在./nginx/conf.d目录下编写crisp.conf文件

erver {listen 80;acess_log off;location / {proxy_pass https://app:8080;}}

5、在~/docker-compose目录下 使用dockers-compose 启动容器

docker-compose up

6、测试访问

http://192.168.187.129/hello

九、Docker私有仓库

1、私有仓库搭建

拉取私有仓库镜像

docker pull registry

启动私有仓库容器

docker run -id --name=registry -p 5000:5000 registry

打开浏览器,输入地址https://ip:5000/v2/_catalog看到{"repositories":[]}表示私有仓库搭建成功

修改deamon.json

vim /etc/docker/daemon.json
#在上述文件中添加一个key,保存退出。
#此步用于让docker信任私有仓库地址
#注意将私有仓库服务器ip修改为自己私有仓库服务器真实ip
{"insecure-registries": ["私有仓库服务器ip:5000"]}

重启docker 服务

systemctl restart docker
docker start registry

2、上传镜像到私有仓库

标记镜像为私有仓库的镜像

docker tag centos:7 私有仓库服务器ip:5000/centos:7

上传标记的镜像

docker push 私有仓库服务器ip:5000/centos:7

3、从私有仓库拉取镜像

#拉取镜像
docker pull 私有仓库服务器ip:5000/centos:7


http://chatgpt.dhexx.cn/article/V0pwKPmw.shtml

相关文章

Midjourney从入门到精通

前言 什么是AI绘画 AI 绘画&#xff0c;顾名思义就是利用人工智能进行绘画&#xff0c;是人工智能生成内容&#xff08;AIGC&#xff09;的一个应用场景。其主要原理就是收集大量已有作品数据&#xff0c;通过算法对它们进行解析&#xff0c;最后再生成新作品&#xff0c;而算…

Jenkins从入门到精通

Jenkins从入门到精通 Jenkins简介Jenkins的特征Jenkins安装和持续集成环境配置Gitlab代码托管服务器安装Gitlab安装Gitlab添加组、创建用户、创建项目持续集成环境(1)-Jenkins安装持续集成环境(2)-Jenkins插件管理持续集成环境(3)-Jenkins用户权限管理持续集成环境(4)-Jenkins凭…

PS从入门到精通第2节——揭开PS的神秘面纱

本节内容 博客底部有内容小结&#xff08;本届内容快捷键&#xff09; 课后练习&#xff1a;&#xff08;素材包已上传&#xff0c;可免费下载&#xff09; 下面开始今天的课程 新建画布后拖拽素材进入 1. 勾选自动选择后可随意选择画布中的素材拖动 2. CTRLT调出定界框 …

PS从入门到精通

系列教程分为三个阶段 A功能精通阶段目录 红色是比较重要的课程&#xff0c;除了1和14节没有练习素材&#xff0c;其他部分都上传了案例相关的素材和高清笔记 第1节 用双手成就你的梦想 本节内容 关于版本 软件安装包可以搜索以下微信公众号或者官网下载&#xff0c;附件 …

UI自动化中断言的使用

在自动化编写脚本时&#xff0c;需要通过断言的方法来判断测试用例是否执行成功。检查点有两个&#xff0c;第一个是页面级别的检查&#xff0c;包括网页的标题和网址&#xff0c;第二个是页面元素级别的检查&#xff0c;包括元素的文本和元素的某个属性。 例子&#xff0c;下面…

UI自动化

UI自动化 本地搭建Javall商城项目maven环境搭建Maven项目管理Maven仓库 TestNG 单元测试框架安装testNG插件 八大定位方式知识点隐式等待&#xff1a;显式等待&#xff1a;iframe切换&#xff1a;window切换&#xff1a;Select下拉框Radio Button&#xff08;单选按钮&#xff…

UI自动化平台(一)

前言&#xff1a;最近萌生了做UI自动化平台的想法&#xff0c;以前做UI自动化都是直接脚本化的&#xff0c;也一直觉得UI改动一般都是很频繁&#xff0c;所以慢慢的脚本化的工作都放弃了&#xff0c;但是目前在公司&#xff0c;发现还是有点用的&#xff0c;公司的前辈也一直在…

ui自动化设计思路

小伙伴让我周末做技术分享&#xff0c;想着这是一件有意义的事情&#xff0c;便答应了下来&#xff0c;那就给大家讲讲ui自动化吧。这里会结合具体的代码给大家讲ui自动化一些理念&#xff0c;方案设计。 本文将探讨ui自动化设计思路&#xff0c;主要围绕以下方面展开讲解&…

使用UI Automation库用于UI自动化测试

&#x1f4cc; 博客主页&#xff1a; 程序员二黑 &#x1f4cc; 专注于软件测试领域相关技术实践和思考&#xff0c;持续分享自动化软件测试开发干货知识&#xff01; &#x1f4cc; 公号同名&#xff0c;欢迎加入我的测试交流群&#xff0c;我们一起交流学习&#xff01; UI A…

你知道什么叫三目表达式吗

目录 什么是三目表达式&#xff1f; 运用 1.单个使用 2.嵌套使用 什么是三目表达式&#xff1f; 1.三目表达式是一种编程中常见的表达式,它能够有效地帮助我们解决一些问题。 2.三目表达式由三个部分组成,分别是:条件表达式、结果表达式 听不懂么&#xff0c;那我们就来举个…

使用UI Automation实现自动化测试 --工具使用

当前项目进行三个多月了&#xff0c;好久也没有写日志了&#xff1b;空下点时间&#xff0c;补写下N久没写的日志 介绍下两个工具 我本人正常使用的UISpy.exe工具和inspect.exe工具 这是UISPY工具使用的图&#xff0c;正常使用到的几个属性 这里重点说一下微软件的UI Autom…

自动化测试平台(十):UI自动化元素页面的管理功能实现

一、前言 上一章我们完成了列表组件公共化封装和项目管理功能的实现,这一章将实现UI元素及元素页面的管理功能,换句话说就是对selenium执行定位操作的元素进行管理。 完整教程地址:《从0搭建自动化测试平台》 项目在线演示地址:http://121.43.43.59/ (帐号:admin 密码…

Android自动化测试入门(二)UI Automator

UI Automator是一个界面测试框架&#xff0c;支持跨进程&#xff0c;几乎可以模拟所有的人工操作。需要运行在4.3或者更高的系统版本上。它的测试代码的编写不依赖于目标应用的内部实现细节&#xff0c;非常适用编写黑盒自动化测试。 UI Automator 测试框架的主要功能包括&…

03-vue基础-插值表达式

文章目录 vue插值表达式vue通过data提供数据通过插值表达式显示数据安装vue开发者工具总结 vue插值表达式 本文要讲解的内容如下&#xff1a; 通过data提供数据通过插值表达式显示数据vue开发者工具的安装与使用 vue通过data提供数据 vue中通过template可以提供模板&#xf…

接口自动化和UI自动化:定义、区别及示例代码

目录 1.接口自动化 2.UI自动化 3.接口自动化和UI自动化的区别 4.结论 5.总结 在软件测试领域中&#xff0c;接口自动化和UI自动化是两个常见的测试类型&#xff0c;它们分别用于测试应用程序的不同层面。本文将介绍接口自动化和UI自动化的基本定义、区别以及示例代码。 1…

autojs,ui,界面学习,以及定时脚本页面的构建

注释掉ui或者ui的报错 再来就是认识几个单词&#xff0c;gravity 重力 简单来说就是你所创造的东西你想要它所处的位置在什么地方&#xff1a; left 靠左right 靠右top 靠顶部bottom 靠底部center 居中center_vertical 垂直居中center_horizontal 水平居中 text的一些属性&…

UI自动化测试03

一、警告框处理 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>警告窗口操作</title><script type"text/javascript">// JavaScript一些函数// 定义了一个函数function alterbutton(){alert("…

【UI自动化-3】UI自动化元素操作专题

前言 在熟悉了元素定位之后&#xff0c;我们接下来就要学习对定位到的元素进行操作这项内容了。我简要做了个总结&#xff0c;如下图&#xff1a; 1 基本操作 元素的基本操作有很多&#xff0c;常用的有三个&#xff1a;click&#xff08;点击&#xff09;、clear&#xff…

mysql数据库命令备份还原

一、备份指定表&#xff1a; 在安装有mysql客户端的服务器命令行执行&#xff1a; mysqldump -h mysqlip -uusername -ppassword dbname tablename1 tablename2 > /home/XXXX.sql 如果表特别大&#xff0c;可以加入“nohup &” 来后台执行&#xff0c;以防窗口关闭等…

cmd 下mysql常用的数据库命令

其实如果不想打开mysql软件去操作数据库的话&#xff0c;可以通过DOS命令去操作数据库&#xff0c;也是比较快捷的方式&#xff0c;根据个人的操作喜好而定。 按 winR 键后输入 cmd 进入DOS命令窗口 切换目录到mysql文件下的bin目录&#xff0c;这里以phpstudy_pro 集成环境为…