一文带你了解docker技术

什么是Docker

Docker是一种虚拟技术,诞生于2013年,是dotCloud公司研发的开源项目,因为docker这个公司后来改名docker inc,docker的目标是实现轻量级的操作系统虚拟化解决方案。通俗点说,我们想在一台机器上运行多个系统,就产生了虚拟机,当我们想在一个系统运行很多虚拟环境的时候,虚拟机就不行了,这时候就出现了docker,docker基于linux容器技术,再进行了很多封装,用户不用关心容器的管理,可以使操作更加简单。用户使用docker容器就像使用一个快速轻量级的虚拟机一样,非常的简单方便。

Docker跟虚拟机有很多不同之处,容器是在操作系统层面实现虚拟化,直接复用本机

操作系统,而传统虚拟机是在硬件层面实现 见下图:

在这里插入图片描述

为什么使用Docker

作为一种虚拟化技术,docker与传统虚拟机相比,具有众多的优势:

更快速的交付和部署

在项目整个过程中,docker都可以发挥自己的优势,开发在开发代码的时候,可以构架一个开发容器,开发完成后,运维人员可以直接使用开发的容器来部署项目,docker可以快速的创建复制容器,docker容器很轻很快,后期测试的时候也可以轻松使用容器来部署测试环境。可以快速的提高整个链条的效率。

高效扩容

因为docker可以在任意的平台上运行,包括物理机,虚拟机,各种云环境,服务器等,所以如果想把一个项目迁移到另外一个平台,非常的简单方便,docker的兼容和轻量特性,可以让你轻松实现服务器的扩容迁移等操作。

更高的资源利用率

因为docker的轻量级特征,一台主机上可以运行上千个docker容器,容器只有在运行项目时,才消耗系统资源,应用的性能很高,而系统的开销却很小,可以保证很高的资源利用率。

Docker的结构

Docker引擎

Docker引擎主要组件如下:

图片

Server是一个常驻进程,用来管理整个docker的交互。

实现客户端和服务端的通信。

镜像image

镜像就是一个环境的只读的模板,一个镜像里面包含了虚拟的操作系统环境,可以安装各种你需要的项目软件,比如tomcat,mysql等等。有了镜像,就可以根据这个镜像来创建docker容器,无论你在什么地方,使用这个镜像都可以复制出同样的容器环境。

仓库:

仓库就是集中放置镜像的场所,主要分为公有仓库和私有仓库,最大的公有仓库就是docker hub,存放了大量成熟的镜像供用户下载使用。国内的有时速云,网易云等,当然你也可以在本地网络创建自己的私有仓库。

容器:

Docker使用容器来运行应用,容器就是镜像运行的运行实例,我们可以通过成熟的镜像来创建一个容器,而后将自己的应用运行到上面。如果在公司内部,你可以安装自己的所需环境的软件,然后整个生成成一个docker镜像,这时候就可以将镜像共享给别人,大家就可以执行镜像,运行出容器,就有了你之前的那个环境,使用起来非常方便。

Docker的基本使用

Docker的常用命令(以mysql为例)

1:获取镜像

可以使用docker pull的命令,比如 docker pull mysql:8.0

2:列出所有镜像

docker images

可以看到你的docker中的下载的镜像

$ docker imagesREPOSITORY               TAG                 IMAGE ID            CREATED             SIZEmysql:8.0          mysql:8.0    6a77ab6655b9        8 weeks ago       194.6 MB

3:执行镜像

docker run --name mysql8.0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

4:查看运行的镜像

docker ps -a

5:进入镜像

进入镜像 运行mysql

命令:docker exec -it mysql8.0 /bin/bash

备注:exec docker进入容器命令 -it 容器中服务别名 /bin/bash 表示命令行模式 与 -d 后台守护进行模式启动 形成两种运行方式

命令:cd /usr/bin

命令:mysql -u root -p

备注:在容器中进入用户目录启动mysql 输入密码连接成功

安装成功

其他就正常操作mysql了。

6:创建镜像

你可以利用 Dockerfile 来创建镜像

docker build

使用 docker commit 来扩展一个镜像比较简单,但是不方便在一个团队中分享。我们可以使用docker build 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令,此内容可以参考网络

编写完成 Dockerfile 后可以使用 docker build 来生成镜像

本文主要是介绍一下docker技术

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!  

猜你喜欢

转载自blog.csdn.net/nhb687095/article/details/132874939