Docker-什么是Docker

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:

Docker基本情况(本小节属于)

Docker基本命令

Dockerfile

Docker镜像

Docker仓库

Docker原理

Docker网络&存储&日志

Docker-Compose

Docker番外篇

在讲Dcoker之前,我们想象一下,如果我们要发布一个应用,首先要做的就是打包自己的程序,其次在线上业务服务器准备系统环境,再次把自己的程序上传到服务器里面,最后再启动应用。这其中最大的变数就是系统环境的改变,就可能导致我们的业务无法启动。而Docker就是把这些操作封装在一起,避免出现环境差异导致业务无法启动。

Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 Linux 虚拟机),几乎没有任何性能开销,可以很容易地在机器和数据中心中运行。

Docker 的主要特点包括:

  1. 轻量级:与传统的虚拟机相比,Docker 容器不需要启动完整的操作系统,因此非常轻巧且快速。

  2. 隔离性:每个 Docker 容器都拥有独立的文件系统、网络配置等,从而保证了良好的隔离性。

  3. 可移植性:容器可以在任何安装了 Docker 的主机上运行,无论是在开发者的笔记本电脑还是在生产服务器上。

  4. 一致性:从开发到测试再到生产环境,只要基于相同的 Docker 镜像构建,就可以保证应用程序的一致性。

  5. 易于扩展:可以轻松地通过 Docker Compose 或 Kubernetes 等工具进行容器的编排和服务的扩展。

图片

一句话总结:虚拟机是面向资源的,容器是面向应用的。

Docker 的核心组件包括:

  • Docker 客户端:用户与 Docker 交互的界面,也就是我们操作的Docker命令,默认只能本地通讯,其实也可以远程通信。

  • Docker 守护进程 (Docker daemon):运行在主机上并处理来自客户端的命令,也就是Docker服务,这个也是被很多人诟病的地方。

  • Docker 镜像 (Docker image):用于创建容器的只读模板,不同的环境传输就是这个镜像。

  • Docker 容器 (Docker container):由镜像实例化出来的运行中的进程,也就是具体的业务进程。

  • Docker 仓库 (Docker registry):用于存储和分发 Docker 镜像的地方,如 Docker Hub。

    图片

借用docker官方的原话 :“Build, Ship, and Run”(构建、交付、运行)

Docker 的基本操作流程如下:

  1. 拉取镜像:从 Docker 仓库下载镜像。

  2. 运行容器:使用镜像创建并运行容器,可以直接运行,如果没有镜像则会去下载。

  3. 提交新的镜像:对容器进行修改后,可以将其提交为新的镜像。

  4. 推送镜像到仓库:将镜像上传到 Docker 仓库以供他人使用。

Docker 也和其他应用软件一样,也是需要先安装以后才能使用,下一小节将介绍Docker的安装。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值