资讯专栏INFORMATION COLUMN

Docker学习(一)docker的相关概念

chenatu / 503人阅读

摘要:虚拟化就是表示计算机资源的一种抽象方式,它是一系列虚拟技术的集合,如硬件虚拟化技术,处理器虚拟化技术,指令虚拟化技术,软件虚拟化技术等。对于计算机领域,虚拟化技术主要分为两类,一类是硬件虚拟化,一类是软件虚拟化,容器技术属于软件虚拟化。

容器技术并不是什么新概念,只不过最近几年随着云计算的火热,变得被大家所熟知。最早于1979年诞生的chroot技术,容器技术又称为容器虚拟化。
虚拟化技术

虚拟化就是通过虚拟化技术将一台实体计算机虚拟为多台逻辑计算机,虚拟后的每一台逻辑计算机都可以运行不同的操作系统,每一个逻辑计算机都是一个虚拟的实体,相互独立,相互隔离。虽然通过虚拟技术可以运行虚拟计算机,但是他们并不是在真实的基础上运行的。

虚拟化就是表示计算机资源的一种抽象方式,它是一系列虚拟技术的集合,如:硬件虚拟化技术,处理器虚拟化技术,指令虚拟化技术,软件虚拟化技术等。

Docker

对于计算机领域,虚拟化技术主要分为两类,一类是硬件虚拟化,一类是软件虚拟化,容器技术属于软件虚拟化。

为什么使用容器?

与传统软件开发,运维相比,容器技术可以更高效的构建,维护管理应用。举个例子,传统软件开发,应用上线,中间需要好多麻烦的过程,需要安装各种相关依赖软件,然后测试,发布,本地测的好好,上线好发现运行不起来,定位环境问题相当麻烦,相信大家都深有体会。

使用容器技术后,我们可以把应用依赖的软件以及资源都放到一个集装箱里,docker的图标就是集装箱。运维只需要一个简单的命令就可一把它发布到各个服务器,而且不担心水土不服,这样会节省大量的时间。

Docker基础

docker其实非常简单,你用到的命令也不过十几条。

Docker是一个构建,发布,运行分布式应用的平台,Docker平台整体可以看成是由Docker引擎,Docker Registry两部分组成。Docker引擎的底层是各种操作系统以及云计算基础设施,而上层则是各种应用程序和管理工具,每层之间都通过API来通信的。

Docker Client

Docker引擎可以简单的理为Docker服务端程序,他让你可以运行基于docker构建的应用,它是一个cs架构的软件。当你运行docker version时,就会看到两大部分,client和server。通过client的指令通过API,我们可以直接和后台守护进程的server通信交互。

Docker Daemon

daemon就是一个守护进程,它是整个docker的核心引擎,在0.9版本之前,客户端和服务端是同意在一个二进制文件中,后来为了根号的管理,划分为4个二进制文件:docker,containerd,docker-containerd-shim和docker-runc。

分开之后,守护进程与容器管理不再相互牵制,使得docker技术变得更人性化。

Docker镜像

docker镜像是Docker系统中的构建模块,是启动一个Docker容器的基础。


Docker镜像分层构建,从底层到上层,我们写的Dockerfile,就是镜像构建步骤。

Docker容器

容器是docker的核心,根据镜像文件描述,docker会创建一个容器,你不用关心它内部有些什么,你只要知道它提供了你的应用程序所需的所有资源,你可以很方便的管理它。从宿主机来看,它只是一个简单的用户进程而已。

Docker仓库

相信大家对github都陌生,它是一个开源代码托管仓库,docker仓库和它的作用一样,不管他存放的是镜像。这样你就可以很方便的把你的镜像分享给其他人,不过你需要把你的镜像上传到docker的公开仓库去。在你本地也可创建私有仓库,方便不同服务器的应用发布。

总结

学习使用docker成本并不高,基本看看操作指令,了解下docker是干嘛的就能上手了,如果你想要了解核心原理,那需要花很多时间。

你的应用程序以前是怎么写的现在依然怎么写,只是最后为它写一个Dockerfile,告诉docker该怎么启动这个应用,这个应用需要哪些软件,比如mysql,jdk,tomact,redis,mongodb等,docker会自动帮你安装这些,并在容器中帮你启动,这样你的应用就可以不运行环境为头疼了。

在其他服务起安装,也不需要从前一样先去手动安装一些软件,配置好环境。直接运行镜像就好了,所有东西都已经放到集装箱里了,你所要做的只是把它搬运过去就好了。

今天只是个简单的介绍,下节课就来安装使用它。欢迎关注我的公中号:mike啥都想搞,一起交流学习

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106098.html

相关文章

  • Docker学习docker相关概念

    摘要:虚拟化就是表示计算机资源的一种抽象方式,它是一系列虚拟技术的集合,如硬件虚拟化技术,处理器虚拟化技术,指令虚拟化技术,软件虚拟化技术等。对于计算机领域,虚拟化技术主要分为两类,一类是硬件虚拟化,一类是软件虚拟化,容器技术属于软件虚拟化。 容器技术并不是什么新概念,只不过最近几年随着云计算的火热,变得被大家所熟知。最早于1979年诞生的chroot技术,容器技术又称为容器虚拟化。 虚拟化...

    用户83 评论0 收藏0
  • Dockerfile 与 Compose 环境搭建学习笔记(

    摘要:的主要作用是自己根据基础镜像,重新定制镜像,而不是直接从官方仓库拿现成的使用。以接下来要构建的环境来说明下,下面我将要搭建一个的开发环境,需要进行配合。它的主要作用是持久化数据,避免容器销毁后内部数据丢失暴露到宿主机的端口。 以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流...

    TZLLOG 评论0 收藏0
  • Dockerfile 与 Compose 环境搭建学习笔记(

    摘要:的主要作用是自己根据基础镜像,重新定制镜像,而不是直接从官方仓库拿现成的使用。以接下来要构建的环境来说明下,下面我将要搭建一个的开发环境,需要进行配合。它的主要作用是持久化数据,避免容器销毁后内部数据丢失暴露到宿主机的端口。 以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流...

    ityouknow 评论0 收藏0
  • Dockerfile 与 Compose 环境搭建学习笔记(

    摘要:的主要作用是自己根据基础镜像,重新定制镜像,而不是直接从官方仓库拿现成的使用。以接下来要构建的环境来说明下,下面我将要搭建一个的开发环境,需要进行配合。它的主要作用是持久化数据,避免容器销毁后内部数据丢失暴露到宿主机的端口。 以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流...

    刘永祥 评论0 收藏0
  • 为什么要用docker

    摘要:那容器和镜像有什么关系网上说是类和对象的关系,没错,但是这样的比喻没什么实际卵用。针对这个问题,项目组决定把开发环境迁移到中,在测试环境中测试无误后,把镜像打包发布到正式环境中,解决了环境不同导致的问题。 本文旨在用最通俗的语言讲述最枯燥的基本知识 最近Docker突然火得不得了,到处都是谈论Docker的声音,相信大家和小编一样的心情,看这个东西有点高大上,但尝试去阅读Docker文...

    Bryan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<