对Docker的一些基本认识
一、Docker简介
首先Docker 是一个用于开发、交付和运行应用程序的开放平台。它 是一个开源的应用容器化平台,通过轻量级容器技术实现软件的标准化打包、分发与运行。Docker基于 Go语言 ,完全使用沙箱机制,相互之间不会有任何接口,而且容器性能开销极低。
Docker核心是通过镜像封装应用代码、运行环境及依赖库,利用 Linux 内核的 cgroups 和 namespaces 技术实现进程、文件系统和网络的隔离,确保跨环境一致性。镜像采用分层存储,容器启动快且资源占用低,显著优化开发、测试与部署流程。开发人员通过 Dockerfile 定义环境,将程序代码和各种环境依赖打包到镜像中,然后就可以非常方便地共享给同事,同事无需下载环境依赖,拉取镜像即可运行,避免了“在我电脑上明明可以运行呀”情况出现。
当开发人员发现 bug 时,他们也可以拉取镜像,在开发环境中修复它们 ,并将重新它们上传,然后部署到测试环境进行测试和验证。Docker适用于运维工程师及后端开发人员,可以极大简化产品从开发到投入市场的过程。
二、Docker架构图
Docker架构的主要工作流程:
构建镜像:使用 Dockerfile 创建镜像。
推送镜像到注册表:将镜像上传到 Docker Hub 或其他镜像仓库中,如国内的阿里云。
拉取镜像:通过 docker pull 从注册表中拉取镜像。
运行容器:使用镜像创建并启动容器。
管理容器:使用 Docker 客户端命令管理正在运行的容器
1.Docker客户端(Docker client)
2.Docker守护进程( Docker daemon)
3.Docker仓库 (Docker registry,Docker Hub)
类比一下,解释镜像,容器,仓库。
仓库可以类比为存放大家上交的作业的云盘。
镜像可以类比为一份比较完美的没有写名字的作业文档。
容器可以类比为你将完美的作业文档下载下来,并写上自己的名字。