Linux--Docker容器引擎

   1、Docker是什么

       Docker是在Linux容器里运行应用的开源工具,是一种轻量级的 “虚拟机”。诞生于2013年,最 初的发起者是dotCloud公司。后来改名为Docker Inc,专注于Docker相关技术和产品的开发。Docker 项目目前已经加人啊Linux基金会,全部开源代码均在https://github.com/docker上进行相关维护官网地址为https://www.docker.com/,有相关文档可以参考。现在Docker 与 OpenStack同为最受欢迎的云计算开源项目。

       Docker 的Logo设计为蓝色鲸鱼,拖着许多集装箱。如图1.1所示,鲸鱼可以看作宿主机,而集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。正如 Docker的设计宗旨一 样:Build、Ship and Run Any App、Anywhere,即通过对应用组件的封装、发布、部署,运行等生命周期的管理,达到应用组件级别的 “一次封装,到处运行” 的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统。

2、Docker和虚拟机的区别

       作为一种轻量级的虚拟化方式,Docker与传统虚拟机相比具有显著的优势。

       Docker容器很快,启动和停止可以在秒级实现,比传统虚拟机要快很多;Docker核心解决的问题是利用容器来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源, 所以 Docker 容器除了运行其中的应用之外,基本不消耗额外的系统资源,从而在保证应用性能的同时,减小系统开销,使得在一台主机上同时运行数千个Docker容器成为可能;Docker操作方便,还可以通过 Dockerfile配置文件支持灵活的自动化创建和部署。表1-1对使用Docker容器技术与传统虚拟化技术的特性进行了比较。

1.1.2 Docker的核心概念

1、镜像

      Docker的镜像(image)是创建容器的基础,类似虚拟机的快照.可以理解为是一个面向 Docker 容器引擎的只读模板。比如,一个镜像可以是一个完整的CentOS操作系统环境,称为一个CentOS 镜像:可以是一个安装了MySQL的应用程序,称为一个MySQL镜像,等等。

      Docker提供了简单的机制来创建和更新现有的镜像,用户也可以从网上下载已经做好的应用镜 像来直接使用。

2、容器

       Docker的容器(Container)是从镜像创建的运行实例。它可以被启动、停止和删除。所创建的每 一个容器都是相互隔离,互不可见,可以保证安全性的平台。可以把容器看作一个简易版的Linux环境,Docker利用容器来运行和隔离应用。

3、仓库

 Docker仓库(Repository)是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用 push 命令将它上传到公有仓库(Public)或者私有仓库(Private),这样一来当下次要在另外一台机器上使用这个镜像时,只需要从仓库上拉取下来就可以了。

      仓库注册服务器(Registry)是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一 类镜像,并且使用不同的标签(Tag)来区分它们。目前最大的公共仓库是Docker Hub,存放了数量庞大的镜像供用户下载使用。

安装Docker的前提操作

能ping通即可 

[root@node2 ~]# ping www.baidu.com

下载以下插件需官网yum源,把原来的移回来即可 。安装完成后启动Docker并设置为开机自动启动。

[root@node3 ~]# yum -y install epel-release


[root@node3 ~]# wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/loacl.repo

查看源

[root@node3 yum.repos.d]# yum -y install docker-ce


[root@node3 ~]# docker search centos7   //查询centos7 源



[root@node3 ~]# docker pull ansible/centos7-ansible   //下载centos源

查看镜像信息

[root@node3 ~]# docker images

可以用 dockertag 命令来为本地的镜像添加新的标签

[root@node3 ~]# docker tag ansible/centos7-ansible:latest centos-01

删除镜像

[root@node3 ~]# docker rmi ansible/centos7-ansible:latest 

存出镜像和载入镜像

当需要把一台机器上的镜像迁移到另一台机器上的时候,需要将镜像保存成为本地文件,这一过程叫做存出镜像,可以使用docker save命令进行存出操作。之后就可以复制该文件到其他机器。

[root@node3 ~]# docker save -o centos7 centos-01

将存出的镜像从A机器复制到B机器.需要在B机器上使用该镜像.就可以将该导出文件导入到B机器的镜像库中,这一过程叫作载入镜像.

[root@node3 ~]# docker load --input centos7 

新建一个容器

[root@node3 ~]# docker create -it centos-01 /bin/bash

可以使用docker ps命令来查看所有容器的运行状态。添加-a选项可以列出系统最近一次启动的容器。

启动容器

[root@node3 ~]# docker start 8158893a3a3d

查询启动状态

停止容器

[root@node3 ~]# docker stop 8158893a3a3d

进入容器

[root@node3 ~]# docker exec -it 8158893a3a3d /bin/bash

通过 exit 退出

容器的导出与导入.

用户可以将任何一个 Docker容器从一台机器迁移到另一台机器,在迁移过程中,首先需要将已经创建好的容器导出为文件,可以使用docker export命令实现,无论这个容器是处于运行状态还是停止状态均可导出。导出之后可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。

例如,导出8158893a3a3d容器到文件centos7-01

[root@node3 ~]# docker export 8158893a3a3d>centos7-01

导出的文件从A机器复制到B机器,之后使用docker import命令导入,成为镜像。命令格式:

[root@node3 ~]# cat centos7-01 | docker import - centos7

容器删除

[root@node3 ~]# docker stop 8158893a3a3d    //先停止容器

[root@node3 ~]# docker rm 8158893a3a3d   //删除容器

相关推荐

  1. docker容器引擎

    2024-03-20 20:50:02       27 阅读
  2. Docker容器引擎

    2024-03-20 20:50:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 20:50:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 20:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 20:50:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 20:50:02       20 阅读

热门阅读

  1. 动态加载CSS文件

    2024-03-20 20:50:02       18 阅读
  2. 如何从零开始拆解uni-app开发的vue项目(二)

    2024-03-20 20:50:02       19 阅读
  3. Python 中可以用来生成 SVG 图的库

    2024-03-20 20:50:02       22 阅读
  4. linux系统中的PS命令详解

    2024-03-20 20:50:02       22 阅读
  5. 主流开发语言和开发环境介绍

    2024-03-20 20:50:02       23 阅读
  6. DNS劫持怎么预防?

    2024-03-20 20:50:02       24 阅读
  7. 去除项目git的控制 端口号的关闭

    2024-03-20 20:50:02       22 阅读
  8. 对建造者模式的理解

    2024-03-20 20:50:02       19 阅读
  9. 《建造者模式(极简c++)》

    2024-03-20 20:50:02       24 阅读
  10. Doris案例篇—美团外卖数仓中的应用实践

    2024-03-20 20:50:02       20 阅读
  11. 前端面试小节

    2024-03-20 20:50:02       18 阅读