docker容器的生命周期管理常用命令

容器的生命周期管理命令

docker create :创建一个新的容器但不启动它
docker create nginx
docker run :创建一个新的容器并运行一个命令
常用选项:
常用选项

1. --add-host:容器中hosts文件添加 host:ip 映射记录
2. -a, --attach:附加到 STDIN, STDOUT 或 STDERR
3. --cidfile:将容器id写入到指定文件
4. -d, --detach:后台运行容器并打印容器id
5. --detach-keys:指定将容器切回后台的按键,默认:CTRL-p+CTRL-q
6. --disable-content-trust:跳过镜像验证,默认为TRUE
7. --domainname:设置容器网络服务域名
8. --entrypoint:覆盖镜像默认程序入口
9. -e, --env:设置环境变量
10. --env-file:从文件中读取环境变量
11. --expose:暴露一个或多个端口
12. --group-add:为容器用户添加更多用户组
13. -h, --hostname string:设置主机名
14. --init 在容器内运行init,转发信号并捕获进程
15. -i, --interactive:保持标准输入设备处于打开状态
16. -l, --label list:设置容器元数据labels
17. --label-file list:从文件中读取以换行作为分隔符的label
18. --link:添加一个其他容器的链接,及修改当容器的/etc/hosts文件
19. --log-driver:容器日志驱动,none、local、json-file、syslog、journald、gelf、fluentd、 awslogs、splunk、etwlogs、gcplogs、logentries
20. --log-opt:日志驱动选项
21. --mount:将文件系统挂载到容器,与 -v 类似
22. --name:指定容器名称
23. --privileged:授予容器超级权限
24. -p, --publish:发布容器端口到主机端口
25. -P, --publish-all:将所有暴露的端口发布到主机随机端口
26. --pull:运行前拉取图像,(always|missing|never),默认 missing
27. --pids-limit:限制容器中pid个数
28. --read-only :将容器跟文件系统装载为只读
29. --restart:当容器退出时的重启策略,默认为no
30. --rm:当容器退出时,自动删除容器
31. --sig-proxy:将接收到的信号代理到进程(默认为true)
32. --stop-signal:停止容器的信号(默认为“SIGTERM”)
33. --stop-timeout:容器停止超时时长,单位s
34. --tmpfs:装载tmpfs目录
35. -t, --tty:分配一个伪终端设备
36. -u, --user: 用户名或用户ID (格式: [:])
37. -v, --volume :绑定数据卷
38. --volume-driver:容器的可选卷驱动程序
39. --volumes-from:从指定的容器装载数据卷
40. -w, --workdir:容器内的工作目录
系统 :
系统
1. --cap-add:添加linux功能
2. --cap-drop:删除linux功能
3. --isolation:指定容器的隔离技术
    docker run -t -i --rm --mount type=bind,src=/tmp/data,dst=/data ubuntu bash
    docker run -dit --rm --tmpfs /run1:rw,noexec,nosuid,size=65536k ubuntu bash
    docker run --cap-add=ALL --cap-drop=MKNOD ...
    docker run --cap-add=SYS_ADMIN ...
    docker run --cap-add=CAP_SYS_ADMIN ...
    linux系统:只支持default,即linux命名空间隔离技术
    windows系统:
    default:表示使用docker守护进程配置的选项,否则默认使用process选项
4. --platform:设置平台,如果服务器支持多个平台
5. --runtime:用于此容器使用的运行时
6. --security-opt:通过指定--security opt标志来覆盖每个容器的默认标签方案
7. --shm-size:设置/dev/shm设备的大小,/dev/shm是一个基于内存的临时文件系统
8. --storage-opt:容器的存储驱动程序选项
9. --sysctl:设置系统参数,默认 map[]
10. --ulimit:设置Ulimit选项,默认[]
 网络:
网络
1. --ip:ip4地址
2. --ip6:ip6地址
3. --dns 设置自定义dns服务器,将修改容器中 /etc/resolv.conf 文件
4. --dns-option:设置DNS选项,将修改容器中 /etc/resolv.conf 文件
5. --dns-search:设置自定义DNS搜索域名,将修改容器中 /etc/resolv.conf 文件
6. --link-local-ip:设置一个或多个容器的以太网设备的链路本地IPv4/IPv6地址
7. --mac-address:容器Mac地址
8. --network:将容器加入到指定网络
9. --network-alias:为容器添加网络范围的别名
健康检查:
健康检查
1. --health-cmd:健康检查命令
2. --health-interval:健康检查频率(ms|s|m|h),默认0s
3. --health-retries:健康检查重试次数,连续失败指定次数则判断为不健康
4. --health-start-period:设置启动容器的初始化时间,在此期间的健康检查不作为参考依据,
(ms|s|m|h),默认0s
5. --health-timeout:每一次检查超时时间(ms|s|m|h),默认0s
6. --no-healthcheck:禁用健康检查

// docker run --rm --health-cmd "curl http://localhost" --health-interval 2s --
health-retries 5 --health-start-period 10s --health-timeout 1s nginx
 命名空间选项:
命名空间选项
1. --cgroup-parent:容器的可选父cgroup
2. --cgroupns:要使用的Cgroup命名空间(host|private)
    host:在Docker主机的cgroup命名空间中运行容器
    private:在容器的私有cgroup命名空间中运行容器
    "":使用配置的cgroup命名空间
3. --pid:pid 命名空间使用,默认使用命名空间隔离,指定host则使用主机pid命名空间
4. --userns:用户与组命名空间,默认为主机模式,在daemon.json中配置后,默认隔离,可通过指
定host为主机模式
    process:命名空间隔离
    hyperv:基于Hyper-V 管理程序基于分区的隔离
5. --uts:uts命名空间,默认隔离,可指定host为主机模式
docker start/stop/restart
docker start :启动一个或多个已经被停止的容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
// docker start nginx

docker stop :停止一个运行中的容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
// docker stop nginx

docker restart :重启容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
// docker restart nginx
docker kill :杀掉一个运行中的容器 
docker kill :杀掉一个运行中的容器

docker kill [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-s :向容器发送一个信号

// docker kill -s KILL nginx
// docker kill -s TERM nginx

如果容器终止时的状态对用户而言很重要,用户可能会想要了解docker kill 和docker stop之间的区别:

1.docker kill 的行为和标准的kill 命令行程序并不相同。

        (1).kill 程序的默认工作方式是向指定的进程发送 TERM信号(即信号值为15)。这个信号表示程序应该被终止,但是不要强迫程序终止。当这个信号被处理时,大多数程序将执行某种清理工作,但是该程序也可以执行其他操作,包括忽略该信号

        (2).docker kill 对正在运行的程序使用的是KILL信号,这使得该进程没办法处理终止过程。这就意味着一 些诸如包含运行进程ID之类的文件可能会残留在文件系统中。根据应该用程序管理状态的能力,如果再次启动容器,这可能会也可能不会造成问题。

2.docker stop 命令则像kill 命令那样工作,发送的是一个TERM型号。

 docker rm :删除一个或多个容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
docker pause/unpause
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。

docker pause CONTAINER [CONTAINER...]
docker unpause CONTAINER [CONTAINER...]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/196149.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

银行各类计算公式汇总

一、存款准备金 存款准备金,分为法定存款准备金和超额存款准备金(主要构成是存放央行及现金,不包括存放同业资金)。下表为目前最新的各类银行业金融机构存款准备金水平。 法定存款准备金率是指中央银行规定的,存款性…

python如何抓取携程酒店的价格,让工作更简单点

有时候老板没事安排点事,为了偷懒,只能使出大招,毕竟自己不是那么老老实实干活的人,整理数据这类累和繁琐的活,我怎么能轻易动,好在gpt可以帮我来实现,有人可能会说,这么点内容你还不…

深入理解main方法-Java

深入理解main方法-Java 一、语法说明二、特别说明三、动态传值 一、语法说明 public static void main(String[] args)main方法是虚拟机调用的java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是publicjava虚拟机在执行main()方法时不必创建对象&#x…

djangorestframework modelserializer 处理关系字段

djangorestframework modelserializer 处理关系字段 1.关系 一对一、多对一、多对多 2.drf modelserializer对关系字段的处理 modelserializer默认处理关系字段为PrimaryKeyRelatedField,默认是id-pk。 多对一:直接写入id 多对多:写入id-lis…

科东快讯 | Intewell鸿道工业操作系统亮相丝路峰会暨中国新工业博览会

近日,第十六届中国工业论坛丝路峰会暨中国新工业博览会在陕西西安临空会展中心圆满落幕! 峰会围绕“十四五”工业经济高质量发展的新使命、新担当,以“新工业新动能新格局”为主题,聚焦新兴工业领域,突出新工业产业集…

队列的实现

1.队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头 …

媒介盒子分享:实用软文写作技巧

信息洪流中品牌方如果想要抓住用户注意力就需要一定的技巧,而品牌方写软文时是不是经常面临无法与用户产生共鸣、软文没有转化率的困境。今天媒介盒子就来和大家分享:实用软文写作技巧。 一、 强化优势 人一定是会往自己喜欢的方向走,远离不…

图解系列--Web服务器,Http首部

1.用单台虚拟主机实现多个域名 HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。。比如,提供 Web 托管服务(Web Hosting Service)的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不…

深度视觉目标跟踪进展综述

1 引言 目标跟踪旨在基于初始帧中指定的感兴趣目标( 一般用矩形框表示) ,在后续帧中对该目标进行持续的定位。 基于深度学习的跟踪算法,采用的框架包括相关滤波器、分类式网络、双路网络等。 处理跟踪任务的角度,分为基于匹配思路的双路网…

算法通关第十七关白银挑战——贪心算法的高频算法题

大家好,我是怒码少年小码。 今天早上起来的时候发现我的一篇公众号的文章火了!超级开心!原来这就是有流量支持的底气嘛~ 书接上文,本篇主要讲解贪心思想的几个经典例题。 区间问题 判断区间是否重叠 LeetCode 252&#xff1a…

Leetcode—15.三数之和【中等】

2023每日刷题&#xff08;四十一&#xff09; Leetcode—15.三数之和 实现代码 class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {sort(nums.begin(), nums.end());vector<vector<int>> ans;int i, j, k;int s,…

移植NXP官方uboot到IMX6ULL开发板--以及过程中遇到的疑问和错误记录

目录 1 下载uboot源码 2在uboot中添加自己的开发板 2.1 添加开发板默认配置文件 疑问&#xff1a;defconfig文件里面为什么没有CONFIG_SYS_EXTRA_OPTIONS"IMX_CONFIGboard/freescale/mx6ullevk/imximage.cfg,MX6ULL_EVK_EMMC_REWORK" 2.2 添加开发板对应的头文…

k8s中pod的hostport端口突然无法访问故障处理

故障背景&#xff1a; 租户告知生产环境的sftp突然无法访问了&#xff0c;登录环境查看sftp服务运行都是正常的&#xff0c;访问sftp的hostport端口确实不通。 故障处理过程 既然访问不通那就先给服务做个全面检查&#xff0c;看看哪里出了问题&#xff0c;看下sftp日志&#…

VIR-SLAM代码分析2——VIR_VINS详解

前言 VIR-SLAM中VIR_VINS文件夹下是基于VINS-mono的结合UWB传感器的估计器&#xff0c;主要改动的文件在uwb_posegraph&#xff0c;vir_estimator中。其他文件夹完成的是UWB数据的处理问题&#xff0c;比较简单上一节介绍足够&#xff0c;代码也容易看懂。本节介绍的VIR_VINS是…

软件测试简历编写技巧,对症下药,一周面10家...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 作为HR来说&#…

吉利银河L6 纯电模式 空调加热功率

环境 环境10摄氏度左右 空调加热最高档 风速最高档 慢充充电 地下车库 开空调充电 关空调充电 分析 充电功率6kw 开关空调时间差了一倍 所以估算出空调加热峰值功率大概3kw左右

aPEAR包绘制功能富集网络图

本期教程 前言 今天学习aPEAR包&#xff0c;绘制KEGG和GO功能富集网络图&#xff0c;用起来还是比较方便的&#xff0c;直接将clusterProfiler富集结果进行绘制&#xff0c;对人类、动物等分析结果非常方便。对于模式植物&#xff0c;使用自己制作的GO或KEGG背景文件进行富集分…

UI上传组件异步上传更改为同步

实现异步方法 JavaScript 异步 实现异步的五种实现方法_js异步-CSDN博客 这两种比较经常用。 因为上传组件是异步上传的通过Async和await配合使用可以上传完照片视频后返回的地址在继续走下去&#xff0c;而不是图片视频地址还未获取时就上传后端了。

Notion for Mac:打造您的专属多功能办公笔记软件

在如今这个信息爆炸的时代&#xff0c;一款高效、便捷的笔记软件对于办公人士来说已经成为必不可少的工具。Notion for Mac&#xff0c;作为一款多功能办公笔记软件&#xff0c;凭借其简洁优雅的界面、强大的功能以及无缝的云端同步&#xff0c;成为了众多用户的首选。 一、多…

9.二维数组——打印出杨辉三角形(要求打印出10行)

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 打印出杨辉三角形&#xff08;要求打印出10行&#xff09;。 二、题目分析 三、解题 程序运行代码 #include<s…