docker常用命令(Docker命令全集)

2025-07-24 23:45:06 5

docker常用命令(Docker命令全集)

大家好,如果您还对docker常用命令不太了解,没有关系,今天就由本站为大家分享docker常用命令的知识,包括Docker命令全集的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

Docker命令全集

一:首先来理解三个名词解释:

1、镜像(image)
Docker 镜像(Image)就是一个只读的模板。

例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

2、仓库(repository)
仓库(Repository)是集中存放镜像文件的场所。

3、容器(container)
Docker 利用容器(Container)来运行应用。容器是从镜像(Image)创建的运行实例。


二:常用的命令集合如下:

容器生命周期管理 — docker


容器操作运维 — docker


容器rootfs命令 — docker


本地镜像管理 — docker


镜像仓库 — docker


其他命令 — docker


详细命令说明如下:

docker run -d --name alias-Name imageName //在后台启动一个容器
docker start Name/ID //启动容器
docker stop Name/ID //停止容器
docker restart Name/ID //重启容器
docker kill -s KILL Name/ID //杀死一个运行的容器
docker rm /rm -f Name/ID //删除容器
docker pause Name/ID //停止容器
docker unpause Name/ID //恢复容器
docker create --name CONTAINER_Name imageName //只创建容器但不启动

docker ps / docker ps -a //查看运行的容器
docker exec -it CONTAINER_ID /bin/bash //进行一个运行中的容器,开启一个新的终端
docker attach CONTAINER_ID //进行一个运行中的容器,不开启一个新的终端
docker inspect CONTAINER_Name //查看容器的相关信息
docker top CONTAINER_Name //查看容器里面的进程
docker events -f "image"="imageName" --since="1467302400" //时间戳=2016年7月1日后的相关事件
docker logs CONTAINER_Name //查看容器的日志输出
docker wait CONTAINER_Name //阻塞运行直到容器停止,然后打印出它的退出代码
docker export -o test.tar CONTAINER_ID //将容器进行打包保存到本地,文件类型为tar
cat test.tar |docker import - image_name:tag //将上面保存的文件导入到镜像库中
docker port CONTAINER_ID //查看容器的端口映射情况

commit 从容器中创建一个新的镜像
docker commit -a "tony test" -m "my mysql" CONTAINER_ID mymysql:v1
docker images mymysql:v1
cp 在使用的过程中会进行多个主机与容器之间的数据交换
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/
diff 用来检查容器里面文件结构的更改
docker diff CONTAINER_ID


docker images /docker images -a //查看本地的镜像,-a 表示是所有的镜像
docker rmi -f image_name //删除镜像
docker tag mysql:v5.6 mysql:v5.7 //给镜像做一个有别名的复本
docker build -t runoob/ubuntu:v1 . //构建一个镜像
docker history image_name //查看当前这个镜像的 历史 信息
docker save -o TestFlask.tar TestFlask:v3 //将当前的镜像保存到本地的一个tar 类型的文件


docker login //登录镜像仓库

docker pull //从镜像仓库中拉镜像

docker push //向镜像仓库推本地的镜像文件

docker search //检索镜像内容


三:利用dockerfile 制作一个tomcat 运行image:

# more Dockerfile.tomcat
FROM daocloud.io/centos:7
COPY jdk-8u144-linux-x64.rpm /opt/jdk-8u144-linux-x64.rpm
RUN
COPY security /usr/java/jdk1.8.0_144/jre/security
COPY certs /etc/pki/tls/certs
COPY tomcat /opt/tomcat
RUN

【docker】docker的容器创建与管理过程

# yum -y install  docker  docker-ce-cli   containerd.io
# rpm -qa | grep container

# rpm -qa | grep docker

# rpm -ql docker-ce-cli | grep bin

# rpm -ql docker-ce | grep bin

# rpm -ql containerd.io | grep bin 
# systemctl status docker

# systemctl status containerd

/var/run/docker.sock

/run/containerd/containerd.sock

/usr/bin/docker 和 /usr/bin/dockerd 就是命令行客户端和daemon

dcocker的架构是 C/S 模式
docker-containerd

docker-containerd-ctr

docker-containerd-shim

 docker-init

 docker-proxy

 docker-runc 
其实最简单的方式,就是加个命令行参数 --help 看看他们的简介。
可以看出来,docker-init, docker-containerd-shim 和 docker-proxy 没有在帮助里告诉我们是干什么的,其他的都有:

docker-containerd: 高性能容器运行时
docker-containerd-ctr: docker-containerd 的命令行客户端

docker-runc: 运行容器的命令行工具

如果去搜索一番,就会发现:docker-containerd 就是  containerd ,而 docker-runc 就是  runc 。

containerd是真正管控容器的daemon,执行容器的时候用的是runc。

为什么 要分的七零八散呢?

我估计其中主要的原因是防止docker垄断,因此把容器标准独立出来,就有了  runtime-spec ,然后有了 runc ,然后有了 containerd (此处发展历史没有考究,并不关心)。
可以看出来,docker本身其实已经被剥离干净了,只剩下docker自身的一些特色功能了,真正容器的管控都在containerd里实现。 
所以接下来介绍的顺序是 runc, containerd, shim, docker-init, docker-proxy。
runc是标准化的产物,为了防止一家商业公司主导容器化标准,因此又了open containers组织,因此,创建容器,其实最终通过runc就可以了。
dockerd 有个子进程,是 containerd,然后 containerd 有子进程。

从  官方仓库  的描述可以看出来,其实 containerd 就包含了我们常用的 docker 的命令:

增删查改容器

增删查改镜像

也就是说,如果我们要对容器进行操控,直接使用 containerd 其实就够了。
说明: 如果没有单独起一个containerd,而是使用了 docker-containerd,通过 ps aux | grep docker 发现它使用了 /var/run/docker/containerd/containerd.toml 这个配置文件,而监听路径就写在里面。
shim的翻译是垫片,就是修自行车的时候,用来夹在螺丝和螺母之间的小铁片。

关于shim本身,网上介绍的文章很少,但是作者在 Google Groups 里有解释到shim的作用:

***隐藏网址***
1. 允许runc在创建&运行容器之后退出

2. 用shim作为容器的父进程,而不是直接用containerd作为容器的父进程,是为了防止这种情况:当containerd挂掉的时候,shim还在,因此可以保证容器打开的文件描述符不会被关掉

3. 依靠shim来收集&报告容器的退出状态,这样就不需要containerd来wait子进程
因此,使用shim的主要作用,就是 将containerd和真实的容器(里的进程)解耦 ,这是第二点和第三点所描述的。

而第一点,为什么要允许runc退出呢? 

因为,Go编译出来的二进制文件,默认是静态链接,因此,如果一个机器上起N个容器,那么就会占用M*N的内存,其中M是一个runc所消耗的内存。 但是出于上面描述的原因又不想直接让containerd来做容器的父进程,因此,就需要一个比runc占内存更小的东西来作父进程,也就是shim。但实际上, shim仍然比较占内存( 参考这里 )。
我们都知道UNIX系统中,1号进程是init进程,也是所有孤儿进程的父进程。

而使用docker时,如果不加 --init 参数,容器中的1号进程 就是所给的ENTRYPOINT。

而加上 --init 之后,1号进程就会是  tini 。
在entrypoint.sh中使用Tini的优势是什么?

***隐藏网址***
用来做容器和宿主机之间的端口映射,其底层是使用iptables来完成的。
The docker-proxy

***隐藏网址***
docker本身而言包括了,docker client和dockerd(docker daemon),dockerd本身实属是对容器相关操作的api的最上层封装,

直接面向操作用户。
dockerd

dockerd本身实属是对容器相关操作的api的最上层封装,直接面向操作用户。
containerd

dockerd实际真实调用的还是 containerd的api接口(rpc方式实现 ),containerd是dockerd和runc之间的一个中间交流组件。
containerd-shim

containerd-shim是一个运行的容器的真实垫片载体,每启动一个容器都会起一个新的docker-shim进程。

他直接通过指定的三个参数:容器id,boundle目录(containerd的对应某个容器生成的目录,一般位于:/var/run/docker/libcontainerd/containerID),运行二进制(默认为runc)来调用runc的api创建一个容器(比如创建容器:最后拼装的命令如下:runc create  )

runc

runc是一个命令行工具端,根据oci(开放容器组织)的标准来创建和运行容器。
1. docker 与 dockerd 通过/var/run/docker.sock 通讯
2. dockerd通过 grpc 与containerd模块通信,dockerd由libcontainerd负责和containerd进行交换,dockerd与containerd通信socket文件为 /run/containerd/containerd.sock
3. containerd在dockerd启动时 被启动 ,然后containerd启动grpc请求监听,containerd处理grpc请求,根据请求做相应动作
4. 若是start或是exec容器,containerd拉起一个 container-shim ,并进行相应的操作
5. container-shim拉起后,start/exec/create拉起runC进程,通过exit、control文件和 containerd 通信,通过父子进程关系和SIGCHLD监控容器中进程状态
6. 在整个容器生命周期中,containerd通过epoll监控容器文件,监控容器事件
Docker组件介绍(一):runc和containerd

***隐藏网址***
Docker组件介绍(二):shim, docker-init和docker-proxy

***隐藏网址***
关于docker启动一个容器后进程

***隐藏网址***

关于本次docker常用命令和Docker命令全集的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

docker常用命令(Docker命令全集)

本文编辑:admin

更多文章:


防噪音耳塞型号(防噪音耳塞什么店有卖)

防噪音耳塞型号(防噪音耳塞什么店有卖)

本文目录防噪音耳塞什么店有卖什么牌子的隔音耳塞好隔音耳塞什么牌子好射击运动员或者飞行员用的防噪音耳塞,不是塞进耳朵的那种,能在哪些地方买到是什么品牌什么型号的防噪音耳塞哪个牌子好求推荐防噪音耳塞排行榜隔音耳塞哪种好防噪音耳塞什么店有卖防噪音

2024年4月20日 18:50

诺基亚7510a评测(诺基亚7510s的特点)

诺基亚7510a评测(诺基亚7510s的特点)

随机附送512MB microSD存储卡存储卡 支持最高8GB的microSD卡电池规格 870毫安时理论通话时间 180分钟理论待机时间 300小时产品外形外观设计 翻盖产品尺寸 92×46×17mm机身厚度 16.7毫米拥有“旋风蓝”、

2024年3月2日 22:00

t430设置固态硬盘启动(笔记本主板怎么设置固态硬盘启动)

t430设置固态硬盘启动(笔记本主板怎么设置固态硬盘启动)

本文目录笔记本主板怎么设置固态硬盘启动联想笔记本电脑怎么设置用固态硬盘启动电脑怎么把固态硬盘作为第一启动项怎么把固态硬盘设置成启动电脑安装固态硬盘后怎么设置启动“联想T430i”如何设置U盘启动怎么把固态硬盘设置为第一启动项如何设置固态硬盘

2024年4月28日 09:20

gtx1080ti什么时候出的(1080一手的还有吗)

gtx1080ti什么时候出的(1080一手的还有吗)

gtx1080ti七彩虹什么时候上市你好七彩虹 GTX1080Ti系列2017年3月1日发布七彩虹 GTX1080Ti系列2017年3月1日发布七彩虹 GTX1080Ti系列2017年3月1日发布1080ti系统显示该设备有问题版本低,ge

2024年3月13日 01:10

十七岁日本电影免费完整版(跪求最好看的日本电影有哪些,【免费高清】在线观看百度网盘资源)

十七岁日本电影免费完整版(跪求最好看的日本电影有哪些,【免费高清】在线观看百度网盘资源)

本文目录跪求最好看的日本电影有哪些,【免费高清】在线观看百度网盘资源跪求关于十七岁的电影,【免费高清】在线观看百度网盘资源电影十七岁白白和男的结局求 十七岁 百度云免费在线观看资源《17岁的帝国》免费在线观看完整版高清,求百度网盘资源盘点哪

2024年5月14日 16:50

google眼镜第5代(那些年的智能眼镜去哪了)

google眼镜第5代(那些年的智能眼镜去哪了)

大家好,如果您还对google眼镜第5代不太了解,没有关系,今天就由本站为大家分享google眼镜第5代的知识,包括那些年的智能眼镜去哪了的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录那些年的智能眼镜去哪了谷歌眼

2025年5月21日 20:11

家庭影院ktv一体(隐形音箱可以做影院和K歌一体吗)

家庭影院ktv一体(隐形音箱可以做影院和K歌一体吗)

大家好,今天小编来为大家解答以下的问题,关于家庭影院ktv一体,隐形音箱可以做影院和K歌一体吗这个很多人还不知道,现在让我们一起来看看吧!本文目录隐形音箱可以做影院和K歌一体吗家庭影院与KTV的音响可以共用吗ktv跟家庭影院可以一套音响吗家

2025年7月14日 12:40

扬天a4630s(联想扬天a4630s台式机能装摄像头吗)

扬天a4630s(联想扬天a4630s台式机能装摄像头吗)

本文目录联想扬天a4630s台式机能装摄像头吗联想扬天A4600如何安装操作系统联想扬天a4630s台式机能装摄像头吗1、可以。2、不应该叫“装”,应该叫“连接”,3、把摄像头插入机箱后面的USB口,按说明安装驱动(有的要先安装驱动再连接电

2024年11月22日 19:30

touch app是干嘛的(touch是什么软件的水印)

touch app是干嘛的(touch是什么软件的水印)

本文目录touch是什么软件的水印有人用过DTX400 TOUCH这个app吗觉得怎样APP干什么用手机APP是什么意思有哪些具体用处他趣touchplay怎么玩touch交友软件怎么样touch是什么软件的水印touch是水印相机软件的水

2024年6月4日 18:50

手机系统诺基亚(诺基亚以前是什么系统)

手机系统诺基亚(诺基亚以前是什么系统)

本文目录诺基亚以前是什么系统诺基亚手机用的是什么操作系统诺基亚6的手机系统是什么诺基亚手机是什么系统的诺基亚以前是什么系统问题一:诺基亚手机是什么系统 手机操作系统一般只应用在高端智能化手机上。目前,在智能手机市场上,中国市场仍以个人信息

2024年11月4日 23:30

索尼d3000(索尼NEX5C与尼康D3000《高分!》)

索尼d3000(索尼NEX5C与尼康D3000《高分!》)

本文目录索尼NEX5C与尼康D3000《高分!》谁能帮我分析下尼康D3000与索尼A300,索尼A230的优缺点啊索尼a330还是尼康d3000,这两款该如何选择索尼A290和尼康D3000那个好点索尼a330和尼康D3000,佳能450D

2024年9月21日 16:40

创新创业项目计划书花店(花店创业计划书)

创新创业项目计划书花店(花店创业计划书)

本文目录花店创业计划书花店项目策划书鲜花店创业计划书花店创业的计划书花店创业项目计划书怎么写大学城花店创业计划书的创业个人情况花店的创业计划书大学生花店创业计划书范文1000字大学生花店创业计划书开花店创业计划书花店创业计划书 花店创业计划

2024年5月15日 05:50

谁知道日本松下手机的官方网站?松下有自己的网络商城吗

谁知道日本松下手机的官方网站?松下有自己的网络商城吗

本文目录谁知道日本松下手机的官方网站松下有自己的网络商城吗谁知道日本松下手机的官方网站***隐藏网址***找网页上找 松下摄像机 相机官网 我家卖松下的 相机 摄像机 进去吧 你找的是咱们中国代理网站 再告诉你个有意思的松下老板 叫 :

2024年11月10日 07:50

情侣服装搭配(情侣运动装如何搭配更“秀”恩爱)

情侣服装搭配(情侣运动装如何搭配更“秀”恩爱)

这篇文章给大家聊聊关于情侣服装搭配,以及情侣运动装如何搭配更“秀”恩爱对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录情侣运动装如何搭配更“秀”恩爱小清新情侣插画服装-如何搭配情侣风格婚纱照服装炫舞时代情侣服装怎么搭配情侣卫衣

2025年6月4日 05:31

lumion官网(笔记本安装lumion6.0需要什么样的配置)

lumion官网(笔记本安装lumion6.0需要什么样的配置)

本文目录笔记本安装lumion6.0需要什么样的配置lumion8需要什么配置lumion是什么软件revit2018转到lumion怎么保留材质lumion渲染出图有哪些步骤笔记本安装lumion6.0需要什么样的配置安装lumion6.

2024年6月7日 12:40

iphone10最严重的缺点(苹果手机有哪些缺点让你想砸了手机的)

iphone10最严重的缺点(苹果手机有哪些缺点让你想砸了手机的)

苹果手机有哪些缺点让你想砸了手机的苹果手机虽然做的很优秀,解决方法:售后服务 10.iPhone 8 缺陷:手机频繁重启、死机 原因:主板设计缺陷,苹果手机从iPhone开始就取消了耳机孔,苹果手机有什么缺点  1、默认的

2024年3月14日 00:40

mx150和1050(赛博朋克2077mx150能玩吗)

mx150和1050(赛博朋克2077mx150能玩吗)

各位老铁们好,相信很多人对mx150和1050都不是特别的了解,因此呢,今天就来为大家分享下关于mx150和1050以及赛博朋克2077mx150能玩吗的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录赛博朋克20

2025年2月12日 23:20

有哪个网是专介绍机械设备的?找二手机械设备去哪个网站

有哪个网是专介绍机械设备的?找二手机械设备去哪个网站

本文目录有哪个网是专介绍机械设备的找二手机械设备去哪个网站在济南网站建设中,一个好的机械设备类网站要怎样制作我想在网上 卖机械设备 那个网站好如何在网上发布二手机械设备信息买机械设备除了阿里巴巴那些网站还可以买机械设备行业网站如何制定关键词

2024年10月24日 07:30

家用室外摄像头推荐(监控摄像头哪些牌子比较好 室外 能实时监控的)

家用室外摄像头推荐(监控摄像头哪些牌子比较好 室外 能实时监控的)

其实家用室外摄像头推荐的问题并不复杂,但是又很多的朋友都不太了解监控摄像头哪些牌子比较好 室外 能实时监控的,因此呢,今天小编就来为大家分享家用室外摄像头推荐的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录监控摄

2025年8月17日 08:00

摩托罗拉e680拆机(摩托罗拉e680 主清除时我突然想起来有东西没保存把电池取下然后再开机就开不了机了只是开机动画!!!!)

摩托罗拉e680拆机(摩托罗拉e680 主清除时我突然想起来有东西没保存把电池取下然后再开机就开不了机了只是开机动画!!!!)

本文目录摩托罗拉e680 主清除时我突然想起来有东西没保存把电池取下然后再开机就开不了机了只是开机动画!!!!急!摩托罗拉e680重写程序和维修卡槽分别要多少钱怎样安装摩托罗拉e680存储卡我有一部摩托罗拉E680的手机,打开电话功能就读取

2024年4月6日 11:50

近期文章

本站热文

至强cpu参数(e52696v3处理器参数)
2024-04-28 15:30:07 浏览:455
标签列表

热门搜索