测试工程师Docker基础

一、docker概述

1、docker为什么会出现

本质:所有技术的出现都是因为出现了一些问题,我们需要去解决,才去研究和学习;

问题:

​ 开发环境、测试环境、仿真环境、正式环境等诸多环境都需要进行频繁的服务更新、环境维护等;

​ 不同的环境由于成本的问题很难做到完全一致和统一,导致同样的服务在不同环境出现服务不可用等问题;

docker给以上问题提出的解决方案:带上运行环境一起打包、更新、上线即可。docker的核心思想就是打包装箱,每个箱子互相隔离,互不影响。

2、docker为什么火

核心原因:docker十分的轻巧。因为在容器技术出现之前我们使用的都是虚拟技术。

虚拟机:在windows上面安装一个vmware虚拟机软件,通过这个软件我们可以虚拟出多台机器;其实虚拟机属于虚拟化技术,docker容器技术其实也属于虚拟化技术。

虚拟机和docker对比:

传统虚拟机技术:虚拟机相关硬件资源,运行一个完整的操作系统,然后在该操作系统上面安装和运行相关需要的软件;
容器技术:容器公用宿主机相关硬件资源,容器没有自己的内核也没有虚拟任何硬件,这样就轻便了许多。每个容器都相互隔离,并且拥有自己的文件系统,互不影响;

3、docker优势

  • 应用更加快速的交付和部署

    传统:一堆帮助文档和安装程序;

    docker:打包镜像、发布测试一件运行;

  • 更便捷的升级和扩容

    使用docker之后,我们部署应用就跟搭积木一样,项目打包为一个镜像,可以很方便的扩展容器1、容器2等

  • 更简单的系统维护

    docker之后,我们的开发环境、测试环境、线上环境是高度一致的;

  • 更高效的计算资源利用

    docker是一个内核级别的虚拟化技术,可以在一台物理机上运行多个容器实例。服务器的性能可以被压榨到极致;

二、docker安装

1、docker基本组成

![image-20210306142331618](/Users/zhaoyang/Library/Application Support/typora-user-images/image-20210306142331618.png)

  • 镜像(image)

    docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,tomcat镜像>run>容器(提

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

  • 容器(container)

    Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的.

    启动,停止,删除,基本命令

    目前就可以把这个容器理解为就是一个简易的 Linux系统。

  • 仓库(repository)

    仓库就是存放镜像的地方!

    仓库分为公有仓库和私有仓库。(很类似git)

    Docker Hub是国外的。

2、docker安装

直接yum安装即可:

#查看linux内核版本
[root@ecs-x-large-2-linux-20200305213344 ~]# uname -r
3.10.0-1160.6.1.el7.x86_64

#查看系统版本详情
[root@ecs-x-large-2-linux-20200305213344 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

#查看docker是否安装成功
[root@ecs-x-large-2-linux-20200305213344 ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-203.git0be3e21.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      0be3e21/1.13.1
 Built:           Thu Nov 12 15:11:46 2020
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-203.git0be3e21.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      0be3e21/1.13.1
 Built:           Thu Nov 12 15:11:46 2020
 OS/Arch:         linux/amd64
 Experimental:    false
 
 #测试docker
 [root@ecs-x-large-2-linux-20200305213344 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
Trying to pull repository docker.io/library/hello-world ...
latest: Pulling from docker.io/library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:89b647c604b2a436fc3aa56ab1ec515c26b085ac0c15b0d105bc475be15738fb
Status: Downloaded newer image for docker.io/hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
 
 #查看下载后的镜像
 [root@ecs-x-large-2-linux-20200305213344 ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/hello-world   latest              d1165f221234        7 hours ago         13.3 kB
docker.io/nginx         latest              35c43ace9216        2 weeks ago         133 MB

3、docker运行原理

docker是一个client-server结构的系统,docker的守护进程运行在主机上,通过socker从客户端访问。server接收到client指令,就只执行这个命令。

 

三、docker常用命令

1、帮助命令

docker version #显示dokcer版本信息
docker info #显示docker的系统信息,包括镜像和容器数量
docker 命令 --help #帮助命令

2、镜像命令

docker images #查看所有本地主机上的镜像
docker search #搜索某个镜像
docker pull #下载镜像
docker rmi #删除镜像

docker images #查看所有本地主机上的镜像

[root@ecs-x-large-2-linux-20200305213344 ~]# docker im
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为测试工程师,进阶需要持续学习和提升技能。以下是一个一年的学习计划的建议: 1. 学习软件测试基础知识:了解软件测试的基本概念、原理和常用术语。可以通过阅读相关书籍或参加在线课程来掌握这些知识。 2. 掌握测试方法和技术:学习各种测试方法和技术,例如黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、安全测试等。了解它们的原理和适用场景,并进行实践。 3. 学习编程语言:掌握至少一门编程语言,例如Python、Java、C#等。编程技能可以帮助你编写自动化测试脚本和工具,提高测试效率。 4. 学习自动化测试:了解自动化测试的基本原理和常用工具,例如Selenium、Appium、Jenkins等。学习如何编写自动化测试脚本,并实践在项目中应用。 5. 深入了解测试管理和过程:学习软件测试的管理和过程,包括需求分析、测试计划制定、缺陷管理等。了解如何与开发人员和其他团队成员合作,提高测试效果。 6. 学习持续集成与持续交付:了解持续集成和持续交付的概念,学习相关工具和技术,例如Git、Jenkins、Docker等。了解如何在项目中应用持续集成和持续交付的思想。 7. 参与开源项目或个人项目:通过参与开源项目或者个人项目,锻炼自己的测试技能并积累经验。这也可以帮助你建立自己的技术影响力。 8. 持续学习和跟进最新技术:软件测试领域的技术和工具不断更新和发展,要保持学习的状态,关注行业动态和最新技术趋势。 记住,学习是一个循序渐进的过程,需要不断实践和总结经验。通过以上的学习计划,你可以在一年内提升自己的测试技能和职业发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值