Docker笔记 —— 容器内部结构与生命周期

容器内部结构

tomcat容器内部结构

在这里插入图片描述
可以看到容器内部是分层的

如何进入容器,并在容器内部执行命令?

docker exec [-it] 容器id 命令

# exec 在对应的容器中执行命令
# -it 以交互式的方式执行命令
# 典型例子
docker exec -it 8d65e2aa6d1b /bin/bash
# 进入容器内部,并可以在容器内部执行linux命令
# 查看linux内核版本
cat /proc/version
# 查看操作系统版本
cat /etc/issue

镜像和容器默认存放的目录是/var/lib/docker

容器生命周期

下图中,方框表示事件,椭圆表示容器所处的状态

在这里插入图片描述

比如运行docker run命令,会经历2个事件,先是create事件,创建容器,然后start事件,启动容器,随后容器就进入到了running状态了。

docker create命令则只是经历了create事件,创建了容器,随后容器处于stopped状态。

docker kill和docker stop的区别:

都是先经历die事件,将该容器置于不可用状态。

但是docker kill会触发kill事件,会杀掉容器内的进程;而docker stop则不会杀掉容器内的进程,最后容器都会进入到stopped状态。但如果重新执行docker start,对于先前被docker kill的容器来说,需要重新启动容器内的进程;而先前被docker stop的容器,无需重新启动容器内的进程。

docker kill和docker stop的区别就是。再重新执行docker start启动容器时,是否需要重新启动进程。

一般情况下,使用docker stop即可。

docker pause 会触发paused事件,让容器状态变为paused,进入暂停状态。被暂停的容器,可以随时调用docker unpause重新进入running状态

若容器发生了oom,会触发die事件,然后根据重启策略配置,决定是否重启,若否,则容器进入stopped状态。

docker rm会触发destroy事件,使得容器进入deleted状态

不需要容器时,可以直接

docker rm -f 3ab9e5a42c3a

总结一下:

容器有4大状态

  • stopped
  • running
  • paused
  • deleted

其中stopped状态分为了两个子状态:created和exited

在这里插入图片描述
在这里插入图片描述

running状态会显示为up

在这里插入图片描述

paused状态会显示为paused

在这里插入图片描述

deleted状态时,根本看不到该容器了

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值