聊聊Docker基础:Docker运行原理
2023-04-18 15:06:09 时间
今天给大家继续分享Docker相关的知识,今天主要介绍Docker运行原理以及生命周期,希望对大家能有所帮助!
1.Docker底层运行原理
Docker基于客户端(容器)-服务器(Docker引擎)结构的系统,Docker的守护进程运行在宿主主机上,客户端(容器)通过Socket向Docker引擎发送相应的指令,Docker服务器就会执行相应的命令。
Docker会以root权限运行它的守护进程,来处理普通Linux用户无法完成的操作(如挂载文件系统等操作)。
2.Docker执行run命令的流程
- Dockers引擎会在本地查找镜像
- 本地找到镜像 然后启动镜像
- 本地没有找到镜像,然后根据Docker引擎配置的仓库地址,远程去查找镜像。
- 远程查询到镜像,把镜像下载到本地,然后启动镜像
- 远程查询到镜像,Docker返回错误,提示镜像远程未找到。
- 运行中的镜像支持:停止、启动、重启、删除(先停止才可以删除)操作。
3.Docker容器的生命周期
Docker容器主要有以下7个状态:
- created:已创建,还未运行的容器
- running:正在运行中的容器
- restarting:容器正在重启中
- removing:容器正在迁移中
- paused:已暂停状态的容器
- exited:停止状态的容器
dead:死亡,主要是操作系统出现异常或者断电关机等有可能引发dead状态,不是很常见。
暂停和停止状态的区别
docker pause 命令挂起指定容器中的所有进程
docker stop 容器内主进程会在指定时间内被杀死,默认为10s后。
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 pause tomcattest #暂停容器docker unpause tomcattest # 取消暂停;
docker stop tomcattest #停止容器;
docker rm tomcattest #删除容器;
相关文章
- 【深入浅出 Yarn 架构与实现】2-1 Yarn 基础库概述
- SimpleDateFormat线程安全问题排查
- 为什么你学不会递归?谈谈我的经验
- 理论基础 —— 线性表 —— 循环链表
- 重新整理 .net core 实践篇 ———— dotnet-dump [外篇]
- 重新整理 .net core 实践篇 ———— linux上性能排查 [外篇]
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
- c++ 关于引用变量你不知道的东西
- 【k8s连载系列】k8s介绍
- 设计模式---装饰器模式
- 3min快速掌握Go语言正/反向代理的姿势
- 「组合数学」隔离区
- Catalan number-神奇的卡特兰数
- 传送带 方法记录
- 如何在CentOS7上搭建自己的GitLab仓库
- C# 多线程访问之 SemaphoreSlim(信号量)【进阶篇】
- Uniapp And Taro一些小测评
- onps栈移植说明(3)——添加网卡
- 从 QFramework 重新开始
- chrome工具调试