端午节, 先祝愿大家端午安康,阖家幸福, 哈哈!这篇讲下Docker这一现代软件开发中不可或缺的技术。软件工程涉及软件开发的整个生命周期,包括需求分析、设计、构建、测试、部署和维护。Docker作为一种容器化技术,直接关联到软件部署、环境一致性保证、持续集成/持续部署(CI/CD)等软件工程领域的关键实践。在这个部分,将会探讨Docker如何改进开发流程、简化部署步骤、保证环境一致性,并支持微服务架构等现代软件工程实践。
文章目录

1 Docker基本概念(容器、镜像、仓库)
1.1 容器
- 定义:容器是一种轻量级、可执行的软件包,包含运行某个应用程序所需的所有内容——代码、运行时环境、库、环境变量和配置文件。
- 特点:与虚拟机相比,容器直接运行在操作系统的内核上,没有自己的操作系统,启动快,资源占用少。
- 生命周期:可通过
docker run
创建和启动,docker stop
停止,docker start
重新启动,docker rm
删除。
1.2 镜像
- 定义:镜像是构建Docker容器的蓝本,包含运行容器所需的代码、库、环境变量、配置文件等。
- 特点:镜像是只读的,当容器启动时,Docker会在镜像的顶部添加一个可写层。
- 操作:可通过
docker build
创建,通过docker pull
从仓库拉取,通过docker push
推送到仓库。
1.3 仓库
- 定义:仓库是集中存储和分发镜像的地方。
- 类型:有公共仓库(如Docker Hub)和私有仓库。
- 用途:允许用户上传和下载镜像,便于版本控制和共享。