好有缘导航网

Docker 容器生命周期:从创建到销毁的完整流程 (docker是干什么的)


文章编号:35557 / 分类:行业资讯 / 更新时间:2024-12-12 22:50:51 / 浏览:

什么是 Docker 容器?

Docker容器是一种轻量级的、独立的、可执行的环境。它包含了运行应用程序所需的一切,包括代码、运行时、系统工具和库。容器由 Docker 镜像创建,镜像是一个可执行的软件包,包含了创建一个容器所需的全部内容。

article/20241212225051_14734.jpg" alt="Docker容器生命周期从创建到销毁的完整" loading="lazy">

Docker 容器的生命周期

Docker 容器的生命周期由一系列阶段组成,从创建到销毁。这些阶段包括:

  • 创建:容器从 Docker 镜像创建。
  • 运行:容器正在运行,并可以与其环境交互。
  • 停止:容器已停止运行,但仍然存在于主机系统上。
  • 销毁:容器从主机系统中删除。

容器创建

创建容器需要一个 Docker 镜像。可以通过以下命令创建容器:

docker run -it --name my-container my-image
此命令将创建一个名为 "my-container" 的容器,并使用名为 "my-image"的镜像。 -it 标志表示容器在交互式模式下启动,而 --name 标志允许指定容器的名称。

容器运行

容器创建后,它将进入 "运行" 状态。在此状态下,容器可以与其环境交互,例如接受连接和执行命令。可以使用 docker exec 命令在容器中执行命令,如下所示:

docker exec -it my-container bash
此命令将在容器中启动一个 bash shell。

容器停止

要停止容器,可以使用以下命令:

docker stop my-container
此命令将停止容器,但容器仍将存在于主机系统上。

容器销毁

要从主机系统中删除容器,可以使用以下命令:

docker rm my-container
此命令将删除容器及其所有数据。

结论

Docker 容器生命周期是一个由创建、运行、停止和销毁阶段组成的过程。通过理解容器生命周期的各个阶段,您可以有效地管理和使用 Docker 容器。


docker是干什么的

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成:DockerClient客户端Docker Daemon守护进程Docker Image镜像DockerContainer容器

Docker容器管理

1. Docker容器的创建和运行通过docker create命令创建容器,使用docker start启动。 创建后的容器处于created状态,使用docker ps -a查看。 docker run命令可一次性完成创建与启动过程,并可指定端口映射、容器名称等参数。 创建并运行容器的示例如下:docker run -d -p 8080:80 --name firstdemo nginx。 执行此命令会在后台运行一个名为firstdemo的Nginx容器,宿主机的8080端口映射至容器内的80端口。 在镜像不存在本地时,命令会自动从Docker Hub中下载。 推荐使用run命令创建容器,以便绑定端口、存储卷、环境变量等操作。 停止容器使用docker stop命令,删除容器使用docker rm命令。 删除正在运行的容器需先停止或使用-f(--force)进行强制删除。 2. 容器的生命周期管理容器生命周期包括创建(created)、运行(running)、停止(stopped)、暂停(pause)、删除(deleted)等状态,对应docker create、docker run/start/unpause/restart、docker stop、docker pause和docker rm命令。 created状态表示容器已创建,使用docker create命令。 running状态表示容器正在运行,通过docker run(运行并创建)、docker start(初建)、docker unpause(从暂停恢复运行)、docker restart(重启)命令转换。 stopped状态表示容器已停止,使用docker stop命令转换。 paused状态表示容器处于暂停状态,使用docker pause转换。 deleted状态表示容器已被删除,使用docker rm命令转换。 3. 容器网络和端口映射Docker提供bridge、host和none三种网络模式。 默认情况下,容器使用名为bridge的虚拟网卡与宿主机通信。 bridge模式下,使用-p或-p参数在宿主机和容器之间建立端口映射关系。 例如,docker run -d -p 8080:80 nginx将容器内80端口映射到宿主机的8080端口。 使用-P参数时,Docker会自动为容器的每个开放端口在宿主机上分配可用端口。 host模式下,容器共享宿主机的网络栈,可以直接使用localhost及相应端口访问服务。 none模式下,容器将不具备网络功能,不能通过网络与其他容器或宿主机通信。

Docker是啥?看完这篇理解并使用Docker

Docker是什么?输入“Docker”后,翻译显示为“码头工人”,没错!码头工人搬运的是集装箱,那么Docker操作的也是集装箱。 这个集装箱静态而言就是一个应用镜像文件,动态而言,就是一个容器。 Docker从狭义上讲是一个进程,广义上讲是一个虚拟容器,其实是应用容器。 Docker进程与普通进程没有区别,它只是一个普通的应用进程,用于操作镜像文件。 因此,Docker进程+构建的应用镜像文件等于Docker容器。 本文所有讲到的Docker都是指Docker容器。 接下来,我们首先明确几个Docker重要的基本概念:镜像、容器、仓库。 镜像(Docker images)类似于VM虚拟机中的快照,但比快照轻量化。 镜像可以理解为文件夹,我们可以通过ID或易识别的名字+tag来确认唯一的目标镜像。 ImagesID是一个64位字符,但通常使用前12位就足够区分了。 容器(Docker containers)可以从镜像中创建,就像从快照中创建虚拟机,但更轻量,启动更快。 应用在容器中运行。 打个比方,你首先下载了一个Ubuntu的镜像,然后安装mysql和Django应用及其依赖,完成对Ubuntu镜像的修改,生成了一个个人觉得非常完美的应用镜像!然后把这个镜像分享给大家使用,大家通过这个镜像就生成一个容器。 容器启动后就会运行Django服务。 容器是一个独立的封闭的集装箱,但需要对外提供服务。 因此,Docker允许公开容器的特定端口,在启动Docker时,我们可以将容器的特定端口映射到宿主机上的任意端口。 如果几个服务都需要80端口,那么容器的对外端口是80,但映射到宿主机上就是任意端口,就不会产生冲突,因此不需要通过代理来解决冲突。 仓库(Docker registries)用于存放镜像,有公有和私有之分。 公有仓库Docker hub提供了许多镜像文件,可以直接拉取运行。 你也可以上传自己的镜像到Docker hub。 同时,你也可以自己搭建私有仓库用于团队项目管理。 结合前面介绍的基本概念,我们可以将Docker的几个概念大致串起来,了解它们是如何运作的,也就是Docker的生命周期。 主要是三步走:1、开发构建镜像并将镜像push到Docker仓库;2、测试或运维从Docker仓库拷贝一份镜像到本地;3、通过镜像文件开启Docker容器并提供服务。 为何要用Docker?它能干些什么?这要从目前软件行业的痛点来讲起。 软件更新发布及部署低效,过程繁琐且需要人工介入;环境一致性难以保证;不同环境之间迁移成本太高。 有了Docker可以很大程度解决这些问题。 Docker提供了一种开发环境的管理办法,与测试人员保证了环境的同步,于运维人员提供了可移植的标准化部署流程。 所以,Docker能干些什么?总结如下:构建容易分发简单;隔离应用解除依赖;快速部署测完就销。 Docker是个进程级的轻量化虚拟机,与传统的虚拟机VM有啥区别呢?Docker这个虚拟机超级轻量级,仅仅是一个进程而已。 与传统的虚拟机VM有着巨大的差别。 区别看下图:从Docker依赖的底层技术来看,Docker原生态不能直接在Windows平台上运行,只支持Linux系统,因为Docker依赖Linux kernel三项最基本的技术:namespaces充当隔离的第一级,是对Docker容器进行隔离;CGroups是容器对使用的宿主机资源进行核算并限制的关键功能;union FS主要是对镜像(image)这一块作支持,采用copy-on-write技术,让大家可以共用某一层,对于某些差异层的话就可以在差异的内存存储。 Libcontainer是一个库,是对上面这三项技术做一个封装。 Docker engine用来控制容器container的运行,以及镜像文件的拉取。 Docker安装通过脚本的方式安装Docker,非常简单。 1、获取最新的Docker安装包;2、启动Docker后台服务;3、验证Docker安装成功;4、获取镜像。 Docker的使用主要从“增删查”几方面来说说。 查看本地已有的镜像,运行一个镜像,即启动一个容器;拉取指定的镜像文件;查看所有的容器;查看镜像/容器的具体信息;进入容器;删除容器。 如何用Docker完成持续集成、自动交付、自动部署?Docker没有持续集成、自动交付、自动部署的功能,但它们都是依赖Docker的。 Docker是这些流程实现的基础。 总结:Docker具有超轻量化,但不建议一台机器上部署太多的应用,同时部署时一定要差异化部署,即将大量计算、内存需求大、IO操作频繁的对系统资源需求不一致的部署到同一台宿主机上。


相关标签: Dockerdocker是干什么的容器生命周期从创建到销毁的完整流程

本文地址:http://www.hyyidc.com/article/35557.html

上一篇:使用云服务加速小程序开发利用基础设施和平...
下一篇:小程序推广案例分享成功案例背后的秘诀小程...

温馨提示

做上本站友情链接,在您站上点击一次,即可自动收录并自动排在本站第一位!
<a href="http://www.hyyidc.com/" target="_blank">好有缘导航网</a>