虚拟化的历史
早期部署服务的过程缓慢且痛苦。 首先,开发人员编写代码; 然后,运营团队将把它部署在裸机上,在那里他们必须寻找库版本,补丁和语言编译器才能使代码工作。 如果存在一些错误或错误,开发人员将修复它,然后重新开始,再由运营团队进行部署。
Hypervisors的创建有所改进。 管理程序在同一主机上有多个虚拟机或VM,可能正在运行或关闭。 虚拟机大大减少了部署代码和修复错误的等待时间,但真正的革命者是Docker容器。
![](https://img.haomeiwen.com/i12713060/26c91fa68a88e328.png)
什么是Docker?
Docker是用于虚拟化的计算机软件,以便在同一主机上运行多个操作系统。 与用于创建VM(虚拟机)的Hypervisor不同,Docker中的虚拟化的Docker容器中在系统级执行, 这有助于提高效率,因此我们可以在与运行虚拟机相同的基础架构上运行更多容器,因为容器使用的资源更少。
与可以与主机硬件通信的VM(例如:以太网适配器以创建更多虚拟适配器)不同,Docker容器在主机操作系统之上的隔离环境中运行。 即使您的主机运行Windows操作系统,您也可以借助Hyper-V在容器运行Linux映像,Hyper-V会自动创建小型虚拟机来虚拟化系统的基本映像,在本例中为Linux。
Docker架构
我们来谈谈Docker架构中的Docker主要组件
Docker引擎
Docker是客户端 - 服务器类型的应用程序,dockerd是服务器的Docker引擎。 docker守护程序和客户端可以在相同或远程主机上运行,它们通过命令行二进制文件进行通信,另外dockerd交互的有完整的RESTful API。
Docker image
Dockerimage是我们容器的“源代码”; 我们用它们来构建容器。 他们可以预装软件,加快部署速度。 它们是便携式的,我们可以使用现有的image或构建我们自己的图像。
注册
Docker存储我们在注册表中构建的映像。 有公共和私人注册管理机构。 Docker公司有一个名为 Docker hub,公共注册,您也可以私下存储image。 Docker hub拥有数百万个image。
Docker容器
容器是Docker的组织单元。 当我们构建image并开始运行它时; 我们在容器中运行。 容器中运行的软件具有可移植性。
简单来说,image是模板,容器是image的Docker架构图
我们有几个docker命令docker pull,docker run ..我们稍后会详细讨论。副本。 您可以拥有同一image的多个容器(副本)。
![](https://img.haomeiwen.com/i12713060/5f5fddb46ac29994.png)
Docker架构图
我们有几个docker命令docker pull,docker run ..我们稍后会详细讨论。
在Linux上安装Docker。
准备
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
sudo apt-get install docker-ce
在Docker 1.8.0之前,软件包名称是lxc-docker,在Docker 1.8和1.13之间,软件包名称是docker-engine。
注意 :Docker for Windows需要运行Windows 10 Pro或Enterprise版本14393或Windows Server 2016 RTM
参考资料
- python测试开发项目实战-目录
- python工具书籍下载-持续更新
- python 3.7极速入门教程 - 目录
- 讨论qq群630011153 144081101
- 原文地址
- 本文涉及的python测试开发库 谢谢点赞!
- [本文相关海量书籍下载](https://github.com/china-testing/python-api-tesing/blob/master/books.md
基本的Docker命令
安装Docker之后我们必须运行的最基本命令是$ docker info,如前所述。
![](https://img.haomeiwen.com/i12713060/54d22586888889c0.png)
我们可以看到有关于docker容器的信息,有多少正在运行,暂停或停止,以及我们下载了多少image。 让我们来看看我们的第一个image。
$ sudo docker pull alpine
使用此命令,我们告诉docker下载图像alpine,从公共注册中提取它,默认情况下设置w为最新版本。
- alpine是基于Alpine Linux的最小Docker镜像,具有完整的包索引,大小仅为5 MB。
把image作为容器运行。
$ sudo docker run -i -t alpine /bin/sh
i标志使容器STDIN中保持打开状态,即使您未连接。 这种持久的标准输入是交互式shell所需的一半。 -t标志指示Docker将伪tty分配给容器。 这为我们提供了一个新容器中的交互式shell。 我们使用简单的exit命令退出容器。
现在我们可以尝试运行Ubuntu映像。
$ sudo docker run -it ubuntu / bin / bash
您可以在本地注意到Docker检查图像,如果不存在,则会自动从image库中提取。
$ sudo docker run --name our_container -it ubuntu / bin / bash
然后我们再次退出
我们还可以运行我们之前创建的容器,而无需交互式shell。
$ sudo docker start container_name
停止容器写
$ sudo docker stope container_name
查看所有正在运行的容器
$ docker ps
查看所有容器,docker ps -a。
此命令显示Container的ID,该映像在创建时使用,运行状态,公开端口和随机生成的容器名称,以便于管理。
当我们运行容器时,我们还想知道他们使用了多少资源,为此我们可以使用该命令。
$ docker stats
您还可以查看我们在本地下载的image以及有关它们的信息。
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 1d9c17228a9e 13 days ago 86.7MB
alpine latest 3f53bb00af94 3 weeks ago 4.41MB
网友评论