Docker学习笔记(一)

本文深入解析Docker的工作原理,阐述其“一次封装,处处运行”的核心思想,对比虚拟机,强调Docker在提高项目跨平台性、简化部署流程上的优势。同时,文章详细解释Docker的三要素:仓库、容器、镜像,以及其C/S架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

何为Docker?

        Docker是基于 go 语言的云开源项目,其思想是“一次封装,处处运行”,这个是不是和 Java 的“一次编译,处处运行”很相似。所以 Java 的跨平台性很优秀,Docker 也一样,不过它是提高了整个项目的跨平台性。

        生产中很现实的一个问题,开发给了运维一个完成的项目,但是运维那边的环境与开发的不一样,可能会出现“”我这里好好的怎么到你这就不行了”的问题。Docker 就是来解决这个问题,实现软件带环境安装解决了系统、配置、数据、代码等问题,在部署集群时不必再在一个个服务器上挨个安装 jdk、tomcat、Nginx 了,只用安装已经打包好的镜像即可轻松完成部署。


Docker 三要素:仓库--容器--镜像

Docker 架构图:

  • Client终端:Docker Client通过命令行与Docker Damon通信,完成Docker相关操作,Daemon是Docker的守护进程
  • Docker Host:主机中存放着 Containers(容器)和 images(镜像)
  • Registry:仓库注册服务器也就是 Docker hub ,Docker主机从这上面拉取镜像,仓库里面存放的镜像。

简述一下 Docker 以及与虚拟机的不同

        Docker 共享宿主机内核、资源、网络和端口,有自己独立文件系统的一个轻量级的虚拟机,容器与容器之间是完全的沙箱操作,如果容器出问题,直接kill后rm完全不会影响到宿主机而且把主要文件夹(比如数据库的data目录和log目录)挂载到宿主机。

        虚拟机:模拟一个完整的操作系统,包括硬件层面,启动时间是分钟级的。

        Docker:只取精华不模拟硬件,高度浓缩版的 Linux系统,用宿主机内核,虚拟化技术。

什么是虚拟化可以参考这篇文章:http://m.elecfans.com/article/671579.html


Docker 相关概念

我们来理解一下仓库、镜像、容器这三个概念。

简单理解:

  • 镜像就可以看作是一个模板
  • 容器可以看作是一个实例,类比 Java 的类和实例,容器是由模板生成的
  • 仓库保存的是镜像(image文件,即镜像文件)
  • 仓库注册服务器 Registry 包含多个仓库(公开库,私有库),一个仓库又包含多个镜像,每个镜像都有不同的标签(即版本号)
  • 一个容器运行一种服务
  • Docker 是一个 C/S 架构

没有安装 Docker 的小伙伴可以看我这一篇博客:https://blog.youkuaiyun.com/qq_41866516/article/details/98339424

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值