Docker-介绍及生命周期

简介: Docker-介绍及生命周期

Docker概念说明

Docker是什么

22f97eb65f9141709c84b5f54c743de9.png

 Docker是一个应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。

Docker功能介绍

「 容器化 」:Docker通过使用Linux容器技术,将应用程序及其依赖项打包到一个独立的容器中。容器是一个完全隔离的运行环境,包含了应用程序、运行时环境、系统工具和依赖库等。容器化可以实现应用程序的快速部署、可移植性和可重复性,减少了应用程序之间的冲突和依赖问题。

「 轻量级和快速启动 」:相比于虚拟机,Docker容器更加轻量级,因为它们共享主机操作系统的内核。这使得Docker容器的启动和停止速度非常快,可以在几秒钟内完成。此外,Docker还采用了分层文件系统的概念,可以实现镜像的共享和复用,进一步减少了存储空间的占用和网络传输的开销。

「可移植性和可扩展性 」:Docker容器可以在任何支持Docker的平台上运行,包括物理服务器、虚拟机、云服务器等。这意味着应用程序可以在不同的环境中保持一致的运行行为。此外,Docker还支持水平扩展,可以通过添加更多的容器实例来增加应用程序的处理能力,实现负载均衡和高可用性。

「管理和部署」:Docker提供了一套丰富的命令行工具和API,可以方便地管理和部署容器。通过Docker命令,可以创建、启动、停止、删除和监控容器,还可以构建和推送容器镜像到Docker仓库。此外,Docker还支持容器编排工具,如Docker Compose和Kubernetes,可以实现多个容器的协同工作和自动化管理。

Docker特性和工具

「Docker镜像」:Docker镜像是容器的基础,它包含了应用程序及其依赖项的只读文件系统。Docker镜像可以通过Dockerfile文件定义,并可以通过Docker命令构建、推送和拉取。

「Docker仓库」:Docker仓库是存储和分享Docker镜像的地方。官方的Docker仓库是Docker Hub,用户可以在其中找到各种常用的镜像。此外,用户还可以搭建自己的私有仓库,用于存储和管理自定义的镜像。

「Docker网络」:Docker提供了一套丰富的命令行工具和API,可以方便地管理和部署容器。通过Docker命令,可以创建、启动、停止、删除和监控容器,还可以构建和推送容器镜像到Docker仓库。此外,Docker还支持容器编排工具,如Docker Compose和Kubernetes,可以实现多个容器的协同工作和自动化管理。

「Docker数据管理」:Docker提供了多种网络模式,可以实现容器之间的通信和与外部网络的连接。默认情况下,Docker使用桥接网络模式,每个容器都分配了一个唯一的IP地址。此外,Docker还支持主机网络模式、容器网络模式和Overlay网络模式等。

Docker核心组成

1.image镜像,构建容器(将应用程序所需的环境,打包为镜像文件)

2.Container容器,(应用程序就跑在当中)

3.镜像仓库,用户保存镜像文件,提供上传、下载镜像。好比github

4.Dockerfile,将部署项目的操作,写成一个部署脚本,并且该脚本还能够构建出镜像文件

Docker部署前后对比

部署前

e2a12f303ab64282b4aa5acc0d1d0400.png

 每个虚拟机都是一个完整的操作系统,要分配系统资源,虚拟机多到一定程度时,操作系统本身资源也就会消耗殆尽,或者说必须要扩容

部署后

321ee5a9bf7945c3b0d7ad92912c3834.png

 容器内的应用程序直接运行在宿主机的内核上,容器没有自己的内核,也没有对应的硬件进行虚拟,因此容器比起虚拟机更为轻便。

虚拟机与容器的对比

1.容器能够提供宿主机的性能,而虚拟机是分配宿主机硬件资源,性能较弱

2.同样配置的宿主机,最多可以启动10个虚拟机,但可以启动100+个容器

3.启动一个虚拟机得有一个完整的开机流程,花费之间较长,而启动一个容器只需要1S

4.虚拟机需要硬件CPU的虚拟化支持,而容器不需要

Docker的声明周期

25c57dd76afb42daa8ad39490faf8b10.png

Docker安装部署

参考一下博客:

https://blog.csdn.net/weixin_45490198/article/details/131494635?spm=1001.2014.3001.5502

Docker总结提升

 Docker是一个功能强大的容器化平台,可以实现应用程序的快速部署、可移植性和可扩展性。它提供了容器化、轻量级和快速启动、管理和部署、可移植性和可扩展性等核心功能,同时还提供了镜像、仓库、网络和数据管理等辅助功能。Docker的出现极大地简化了应用程序的开发、测试和部署过程,提高了开发者的工作效率和应用程序的可靠性。


相关文章
|
10月前
|
Kubernetes 监控 Docker
Docker 容器生命周期:创建、启动、暂停与停止
Docker 容器生命周期:创建、启动、暂停与停止
755 0
|
3月前
|
JSON 缓存 程序员
Docker常用命令以及生命周期管理
Docker常用命令以及生命周期管理
55 2
|
8月前
|
Docker 容器
docker容器的生命周期管理常用命令
docker容器的生命周期管理常用命令
76 0
|
10月前
|
运维 持续交付 Docker
Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析
Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析
353 0
|
存储 NoSQL 关系型数据库
Docker | Docker技术基础梳理(三) - 容器生命周期管理
Docker | Docker技术基础梳理(三) - 容器生命周期管理
185 0
|
Kubernetes 网络协议 API
Docker 与 K8S学习笔记(二十一)—— Pod生命周期、重启策略与健康检查
Pod在整个生命周期中被系统标示为各种状态,熟悉Pod的各种状态对于理解Pod的调度策略、重启策略很有必要。 一、Pod生命周期 Pod的所处阶段信息保存在PodStatus.Phase,Phase有如下几种值: Pending: API Server已经创建该Pod,但一个或多个容器还没有被创建
354 0
|
应用服务中间件 Shell API
Docker基础组件、安装启动和Docker生命周期
Docker安装部署 Docker引擎 运行镜像生成容器。应用程序跑在容器中 Docker Daemon 安装使用Docker,得先运行Docker Daemon进程,用于管理Docker,如: - 镜像 images - 容器 containers - 网络 network - 数据卷 Data Volumes
183 0
|
供应链 安全 Docker
Docker为整个软件生命周期提供安全保障
提到Docker的安全性和隔离性,人们关注点大多都在运行阶段。但是,运行时的安全问题仅仅是整个软件生命周期中的一部分,我们需要在整个软件生命周期都考虑安全问题。
3007 0
|
1天前
|
Docker 容器
|
1天前
|
缓存 开发者 Docker
Dockerfile是Docker容器化过程中的核心组件,它允许开发者以一种可重复、可移植的方式自动化地构建Docker镜像
【8月更文挑战第19天】Dockerfile是构建Docker镜像的脚本文件,含一系列指令定义镜像构建步骤。每条大写指令后跟至少一个参数,按序执行,每执行一条指令即生成新的镜像层。常用指令包括:FROM指定基础镜像;RUN执行构建命令;EXPOSE开放端口;CMD指定容器启动行为等。优化策略涉及减少镜像层数、选择轻量基础镜像、利用缓存及清理冗余文件。示例:基于Python应用的Dockerfile包括设置工作目录、复制文件、安装依赖等步骤。掌握Dockerfile有助于高效自动化构建镜像,加速应用部署。