博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/07/31 docker容器和镜像(03)容器部分
阅读量:3929 次
发布时间:2019-05-23

本文共 2928 字,大约阅读时间需要 9 分钟。

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
**在这里插入图片描述
跟容器相关的查看的命令在这里插入图片描述

转载地址:http://vckgn.baihongyu.com/

你可能感兴趣的文章
Mysql各种存储引擎对比总结(常用几种)
查看>>
java为我们已经提供了各种锁,为什么还需要分布式锁?
查看>>
一文带你理解mysql中的分区表和合并表(一个常见知识点)
查看>>
Redis5.0数据淘汰策略详解(最新版本,面试常问)
查看>>
为什么 MongoDB 索引选择B-树,而 Mysql 选择B+树(精干总结)
查看>>
面试官:说说 Springboot 中的 javaConfig(基于Spring5.2)
查看>>
你的钱为什么被转走,这篇文章告诉你答案(CSRF详解)
查看>>
JVM中的一个小知识点:深堆和浅堆的概念
查看>>
HashMap的负载因子初始值为什么是0.75?这篇文章以最通俗的方式告诉你答案
查看>>
详解java中一个面试常问的知识点-阻塞队列
查看>>
除了Thread和Runnable,你还知道第三种创建线程的方式Callable吗
查看>>
java线程面试题集锦(第一版本)
查看>>
记一次java中三元表达式的坑(避免踩坑)
查看>>
面试官:如何实现一个乐观锁(小白都能看得懂的代码)
查看>>
CopyOnWriteArrayList,一个面试中经常问到的冷门容器
查看>>
设计模式之桥接模式
查看>>
设计模式之组合模式
查看>>
java网络编程(1)基础知识点总结
查看>>
java网络编程(2)Socket编程案例(TCP和UDP两种)
查看>>
设计模式之享元模式
查看>>