python数据分析人工智能机器学习软件测试Python专家之路工具癖

docker简介

2019-01-11  本文已影响40人  python测试开发

虚拟化的历史

早期部署服务的过程缓慢且痛苦。 首先,开发人员编写代码; 然后,运营团队将把它部署在裸机上,在那里他们必须寻找库版本,补丁和语言编译器才能使代码工作。 如果存在一些错误或错误,开发人员将修复它,然后重新开始,再由运营团队进行部署。

Hypervisors的创建有所改进。 管理程序在同一主机上有多个虚拟机或VM,可能正在运行或关闭。 虚拟机大大减少了部署代码和修复错误的等待时间,但真正的革命者是Docker容器。

图片.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的多个容器(副本)。

image

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

参考资料

基本的Docker命令

安装Docker之后我们必须运行的最基本命令是$ docker info,如前所述。

image

我们可以看到有关于docker容器的信息,有多少正在运行,暂停或停止,以及我们下载了多少image。 让我们来看看我们的第一个image。

$ sudo docker pull alpine

使用此命令,我们告诉docker下载图像alpine,从公共注册中提取它,默认情况下设置w为最新版本。

把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
上一篇 下一篇

猜你喜欢

热点阅读