2019/07/31 docker容器和镜像(03)容器部分

本文详细介绍了Docker的基本组件,包括客户端、守护进程和仓库,以及容器、镜像和仓库的逻辑组件。深入探讨了Docker的运行原理,如何通过镜像创建容器,常用的Docker命令如images、pull、run、ps等,以及容器的各种状态和管理命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker的物理组件有三个,
客户端,
daemon
registry 仓库

逻辑组件主要也是三个
container
image
registry
在这里插入图片描述在这里插入图片描述
Docker组件:
物理:
Client <–> Daemon <–> Registry Server
逻辑:
Containers:容器 所有的container一般都听过 image镜像启动的
Images:镜像、映像 应该放在Image Repositories
Registry:Image Repositories

想要允许docker容器
在这里插入图片描述
docker
images 查看有哪些镜像文件
pull 下载一个镜像
run 创建并且运行容器
ps 查看容器
https://docs.docker.com/reference/
在这里插入图片描述
查看docker相关的信息:
version 查看docker主机当前版本号,由哪个程序包提高,APi版本号,go语言所研发的
info
在这里插入图片描述
构建时间,适用的平台
在这里插入图片描述
moby,所有搜索docker关键词导向docker站点而不是这个开源项目,docker现在有两个发行分支,EE,CE
企业版,社区版,
一旦docker运行以后,info开以去查看docker主机的一些命令
在这里插入图片描述在这里插入图片描述在这里插入图片描述
处于什么状态的,以及有几个镜像在这里插入图片描述
存储驱动,ubuntu用的是unionfs
在这里插入图片描述
日志驱动
在这里插入图片描述
默认获取路径
在这里插入图片描述
查看docker相关的信息:
version
info查看当前系统上的运行docker容器相关信息
在这里插入图片描述
镜像:相关命令
images
rmi删除镜像
pull 拉取一个镜像

在这里插入图片描述
容器:相关命令
run:创建并运行一个容器;
create:创建一个容器;
start:启动一个处于停止状态容器;

容器状态又很多种
created已创建状态
running 运行状态
paused暂停状态
stopped停止状态
deleted已删除
在这里插入图片描述在这里插入图片描述
容器的状态:
created: 已创建
runing:运行中
paused:暂停
stopped: 停止
deleted:已删除

在这里插入图片描述在这里插入图片描述
创建:
create
run

启动:
start

停止:
kill
stop

重启:
restart

暂停和继续:
pause
unpause

删除容器:
rm
run --rm 运行±-rm选项,容器关闭会自动删除

内存耗尽kill,会进入oom,然后经过策略查看是否需要重启,kill一个容器相当于拔电源,优雅中止使用了docker stop

在这里插入图片描述https://docs.docker.com/engine/reference/commandline/run/
基于这个image来创建容器,每一个镜像文件都又要默认执行的命令在这里插入图片描述在这里插入图片描述创建容器:
基于“镜像文件”,
镜像文件有默认要运行的程序;

注意:
运行的容器内部必须有一个工作前台的运行的进程;这个程序不运行,容器就关闭了
docker的容器的通常也是仅为运行一个程序;
要想在容器内运行多个程序,一般需要提供一个管控程序,例如supervised。

run, create 通常需要给的一些选项
–name CT_NAME 容器名 container name
–rm:容器运行终止即自行删除
–network BRIDGE桥:让容器加入的网络;让容器关联到哪个桥上,因为桥一般附属于一个网络
默认为docker0;

交互式启动一个容器:
-i:–interactive,交互式;
-t:Allocate a pseudo-TTY 附加到一个终端上,分配一个伪终端,并附加用户至此终端
在这里插入图片描述

从终端拆除:ctrl+p, ctrl+q

attach:附加至某运行状态的容器的终端设备;
exec:让运行中的容器运行一个额外的程序;

start可以关联到控台上,在这里插入图片描述如果附加到终端以后,要拆除终端,不可以使用exit命令,exit等于docker进程也停止
从终端拆除:先ctrl+p, 后ctrl+q
拆除以后想要再回到终端,进行交互式模式,使用ps可以看到当前处于up运行状态
附加终端使用attach,容器名是c1,拆除先ctrl+p, 后ctrl+q
在这里插入图片描述在这里插入图片描述
attach:附加至某运行状态的容器的终端设备;
https://docs.docker.com/engine/reference/commandline/attach/
几乎选项都没什么要用的在这里插入图片描述
想要运行命令就直接退出在这里插入图片描述
可以让容器启动起来后,不再运行默认的shell命令,运行结束,容器就中止了在这里插入图片描述在这里插入图片描述
替换image镜像默认运行的程序指定为自己的程序,把这个程序写在最后,给个程序名即可在这里插入图片描述https://docs.docker.com/engine/reference/commandline/exec/在这里插入图片描述
现在是正常运行状态在这里插入图片描述
正常运行了一个程序,想要执行其他程序 -exec指明在哪个容器上运行什么命令,在容器上运行额外命令的在这里插入图片描述
容器没有中止还在运行着在这里插入图片描述
这是一个让一个运行中的容器,额外运行其他命令的,exec在这里插入图片描述
exec:让运行中的容器运行一个额外的程序;
https://docs.docker.com/engine/reference/commandline/logs/
logs不是看日志,表示在一个容器上运行命令的历史,相当于查看容器内部命令操作的历史在这里插入图片描述
再次使用logs,就可以看到曾今运行过ifconfig,包括命令历史和终端的输出信息
在这里插入图片描述在这里插入图片描述
查看:
logs:Fetch the logs of a container,容器内部程序运行时输出到终端的信息;

https://docs.docker.com/engine/reference/commandline/ps/在这里插入图片描述
列出容器,查看容器
根据某个条件过滤显示某个容器
在这里插入图片描述在这里插入图片描述‘只显示bbox3
在这里插入图片描述
也可以支持通配符在这里插入图片描述在这里插入图片描述
ps:List containers 查看运行中的容器
-a, --all:列出所有容器;
–filter, -f:过滤器条件显示,可以指定字段的过滤器进行过滤
name=
status={stopped|running|paused} 仅显示某种状态的容器

只显示在什么之前创建的容器在这里插入图片描述
在什么之后在这里插入图片描述
只查看属于某个网络的容器在这里插入图片描述在这里插入图片描述https://docs.docker.com/engine/reference/commandline/rename/
给容器重命名在这里插入图片描述
rm是删除容器,删除之前确保容器内没有我们要的数据
https://docs.docker.com/engine/reference/commandline/stats/在这里插入图片描述
显示容器资源消耗的在这里插入图片描述在这里插入图片描述
运行时的cpu,内存占用率,网络IO,磁盘IO,以动态输出的方式,显示容器的资源占用情况,
stats:动态方式显示容器的资源占用状态:
在这里插入图片描述在这里插入图片描述https://docs.docker.com/engine/reference/commandline/top/
显示一个容器运行的命令在这里插入图片描述
**显示一个容器内部正在运行的命令
top:Display the running processes of a container
**在这里插入图片描述
跟容器相关的查看的命令在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值