先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
可以粗糙的认为是一个轻量级的虚拟机,因为在某种程度上来讲,docker和虚拟机是有非常多的相似点。它们都是讲应用放在相对独立的环境里,调度主机的内核来运行。但Docker确实不是虚拟机,这张图是虚拟机和Docker的对比图,左边这张图是虚拟机,右边是Docker,左边的虚拟机子宿主机上有一层Hypervisor虚拟层,虚拟出了硬件和设备,在虚拟层上面会安装GuestOs,然后再运行各种各样的程序,docker 是不一样的,docker是不一样的,它在宿主机上有一个Docker engine,然后再运行各种各样的应用程序。因为它没有虚拟机层,它会比虚拟机轻量很多,包括程序运行速度也非常的快。
Docker为何这么火?天时地利人和。Docker 不是什么新技术,Docker的镜像版本管理是其火的根本原因。
Docker安装
Centos安装:
安装:
yum search docker
yum -y install docker-io
查看基本信息:docker info
启动:servie start docker
Docker架构
从这张图可以看出,Docker的架构是非常简答的。中间是Host,上面装了一个Docker daemon的守护进程,守护进程应用做很多docker的操作,那么谁让 docker daemon来做这些操作呢,是最左边client,比如我们再终端操作输入dokcer的命令,客户端讲命令发送给docker守护进程,让docker去做一些操作,比如从最右边的镜像仓库拉取镜像到宿主机上,然后在宿主机上跑镜像,运行容器。
常见的Docker命令
docker run -p 80:80 -d docker.io/nginx
docker cp index.html containerId://usr/share/nginx/html
docker exec -it containeId /bin/bash
docker images
docker ps [-a -q]
docker stop containerId
docker rm containerId
docker rmi imagesId
docker commit –m ’msg’ containerId [name]
docker build
docker pull
docker push
docker login
Dockerfile
常用命令
命令 | 用途 |
---|---|
WORKDIR | RUN ENTRYPINT CMD执行的工作目录 |
ENV | 添加环境变量 |
ADD | 添加文件,会解压压缩包 |
COPY | 复制文件 |
ONBUILD | 触发器 |
VOLUME | 挂载卷 |
FROM | 基础镜像 |
ENTRYPOINT | 基础命令 |
RUN | 执行命令 |
CMD | 启动程序命令,拼接在基础命令后 |
EXPOSE | 暴露端口 |
MAINTAINER | 维护者 |
如果不理解可以参考博客https://www.cnblogs.com/51kata/category/789766.html
第一个Dockerfile
FROM alpine:latest
MAINTAINER fzp
CMD echo ‘hello docker’
这个镜像的基础镜像是alpine:latest,所有者是fzp,容器启动的时候会执行echo命令。
执行:
docker build -t hello-img .
docker run hello-img
控制台输出: hello docker
第二个Dockerfile
FROM ubuntu
MAINTAINER fzp
RUN sed -i ‘s/archive.ubuntu.com/mirrors.ustc.edu.cn/g’ /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT [“/usr/sbin/nginx”,“-g”,“daemon off;”]
EXPOSE 80
这个镜像稍微复杂点,基础镜像是ubuntu,镜像所属者fzp,再一下一层是设置镜像加速的地址。将index.html拷贝到镜像的目录下。最后以前台进程的形式启动。
index.html
today i’m happy
执行命令:
docker build -t forezp/hello.nginx .
docker run forezp/hello.nginx
curl localhost
控制台输出:today i’m happy
Docker存储
独立于容器之后的独立化存储
第一种方式:
docker run -p 80:80 -d -v $PWD/code:/var/www/html nginx
-v指令 宿主的路径:容器路径
将容器的路径的文件夹或者文件挂载到宿主机的路径。
第二种方式:
docker run -volumes-from …
docker create -v $PWD/data:/var/mydata --name data_container ubuntu
docker run -it --volumes-from data_container ubuntu /bin/bash
cd /var/mydata
touch what.txt
exit
cd data
ls
可以查看宿主机的data目录有what.txt文件
镜像仓库
Regiestry,使用官方的docker hub。
docker search whalesay
docker pull dokcer/whalesay
docker run dokcer/whalesay cowsay docker is fun
docker tag dokcer/whalesay forezp/whalesay
dcoker push forezp/whalesay
docker login
Docker Compose
docker compose是Docker 官方的一个容器编排工具,现在以一个简单的搭建博客的例子来讲解。
安装
所以的例子都是在linux系统下完成的,docker compose在linux下的安装:
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-uname -s
-uname -m
> /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose
验证安装成了没:
docker-compose --version
Docker Compse常用命令
- docker-compose build
- docker-compose up
- docker-compose stop
- docker-compose rm
案例实战
工程架构:
分为3个容器,最外层一个服务为ngixn,下一层服务为ghost app,最底层容器是Mysql
在工作目录ghost下,有三个文件夹分别为ngix、ghost、db和一个docker-compose.yml文件,目录结构为:
-ghost
- nginx
- Dockerfile
- nginx.conf
- ghost
- Dockerfile
- config.js
- db
- docker-compose.yml
docker-compose.yml编写
version: ‘2’
networks:
ghost:
services:
ghost-app:
build: ghost
networks:
- ghost
depends_on: - db
ports: - “2368:2368”
nginx:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ld: ghost
networks:
- ghost
depends_on: - db
ports: - “2368:2368”
nginx:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-xkYrgDQ4-1713298654272)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!