Docker基础:Docker运行原理笔记

举报
IT技术分享社区 发表于 2022/10/26 21:50:17 2022/10/26
【摘要】 Docker基于客户端(容器)-服务器(Docker引擎)结构的系统,Docker的守护进程运行在宿主主机上,客户端(容器)通过Socket向Docker引擎发送相应的指令,Docker服务器就会执行相应的命令。

image_78f052bd.png

今天给大家继续分享Docker相关的知识,今天主要介绍Docker运行原理以及生命周期,希望对大家能有所帮助!

1、Docker底层运行原理

Docker基于客户端(容器)-服务器(Docker引擎)结构的系统,Docker的守护进程运行在宿主主机上,客户端(容器)通过Socket向Docker引擎发送相应的指令,Docker服务器就会执行相应的命令。

image_9b5131b0.png

Docker会以root权限运行它的守护进程,来处理普通Linux用户无法完成的操作(如挂载文件系统等操作)。

2、Docker执行run命令的流程

  1. Dockers引擎会在本地查找镜像
  2. 本地找到镜像 然后启动镜像
  3. 本地未找到镜像,然后根据Docker引擎配置的仓库地址,远程去查找镜像。
  4. 远程查询到镜像,把镜像下载到本地,然后启动镜像
  5. 远程查询到镜像,Docker返回错误,提示镜像远程未找到。
  6. 运行中的镜像支持:停止、启动、重启、删除(先停止才可以删除)操作。

image_1f92407f.png

3、Docker容器的生命周期

Docker容器主要有以下7个状态:

  • created:已创建,还未运行的容器
  • running:正在运行中的容器
  • restarting:容器正在重启中
  • removing:容器正在迁移中
  • paused:已暂停状态的容器
  • exited:停止状态的容器
  • dead:死亡,主要是操作系统出现异常或者断电关机等有可能引发dead状态,不是很常见。

暂停和停止状态的区别

  • docker pause 命令挂起指定容器中的所有进程
  • docker stop 容器内主进程会在指定时间内被杀死,默认为10s后。

image_88197999.png

4、Docker操作容器命令示例

创建容器tomcat容器

[root@ecs-337444 ~]# docker create --name tomcattest tomcat:8.5.38
1b6a0f79e3d3b030c3f5fc1b170f6205815c16a363cafc72f0b927e846f73cf5

docker ps -f status=created # 根据状态检索

docker ps -a -f name=tomcattest #根据容器名检索

[root@ecs-337444 ~]# docker ps -a -f name=tomcattest
CONTAINER ID   IMAGE           COMMAND             CREATED         STATUS    PORTS     NAMES
54ae70aca0db   tomcat:8.5.38   "catalina.sh run"   6 minutes ago   Created             tomcattest

docker start tomcattest #启动容器

image_4173aa6c.png

docker pause tomcattest #暂停容器

docker unpause tomcattest # 取消暂停

image_8eb6b868.png

docker stop tomcattest #停止容器

image_e43cc9a1.png

docker rm tomcattest #删除容器

image_e62de1ac.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。