首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Docker-什么是Docker

Docker-什么是Docker

作者头像
运维小路
发布2024-11-21 19:42:34
发布2024-11-21 19:42:34
2750
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而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的安装。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker 的主要特点包括:
  • Docker 的核心组件包括:
  • Docker 的基本操作流程如下:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档