如果做游戏的技术用来做网站/seo培训班
文章目录
- 一、容器指令
- 1.运行
- 2.启动/停止/重启
- 3.暂停/恢复
- 4.删除
- 二、生命周期
- 三、资源限制
- 1.内存限额
- 2.CPU限额
- 3.磁盘读写带宽限额
- 四、cgroup和namespace
- 五、常用命令
一、容器指令
1.运行
按用途容器大致可分为两类:服务类容器和工具类的容器。
- 服务类容器:
服务类容器以daemon的形式运行,对外提供服务,比如Web Server、数据库等。
通过 -d以后台方式启动这类容器是非常合适的。
如果要排查问题,可以通过exec -it进入容器。
创建并启动
docker run -d webserver-image
以交互方式启动一个已经创建了的容器
docker exec -it webserver-image /bin/bash
- 工具类容器:
工具类容器通常能给我们提供一个临时的工作环境,通常以run -it方式运行。执行exit退出终端,同时容器停止。
工具类容器多使用基础镜像,例如busybox、debian、ubuntu等。
创建并启动
docker run -it ubuntu /bin/bash
- restart参数:
docker run -d --restart=always webserver-image
--restart=always
意味着无论容器因何种原因退出(包括正常退出),都立即重启;该参数的形式还可以是 --restart=on-failure:3,意思是如果启动进程退出代码非0,则重启容器,最多重启3次
2.启动/停止/重启
当你使用 Docker 时,你会频繁地需要停止、启动和重启容器。以下是这些操作的详细说明:
-
停止容器 (
docker stop
):- 用法:
docker stop <container_name_or_id>
- 作用:停止指定的容器。Docker 会发送一个 SIGTERM 信号给容器,然后等待一定时间(默认为10秒)让容器进行清理工作。如果容器在这段时间内没有停止,Docker 会发送一个 SIGKILL 信号强制终止容器。
- 用法:
-
启动容器 (
docker start
):- 用法:
docker start <container_name_or_id>
- 作用:启动之前停止的容器。这个命令会重新启动已经存在的容器,不会创建新的容器实例。
- 用法:
-
重启容器 (
docker restart
):- 用法:
docker restart <container_name_or_id>
- 作用:重启指定的容器。这个命令会先停止容器,然后再启动它。
- 用法:
这些命令可以帮助你有效地管理 Docker 容器的生命周期,让你能够灵活地控制容器的运行状态。
3.暂停/恢复
当你使用 Docker 时,你可能会需要暂停和恢复容器的运行。以下是 docker pause
和 docker unpause
命令的详细说明:
-
暂停容器 (
docker pause
):- 用法:
docker pause <container_name_or_id>
- 作用:暂停指定的容器。这个命令会暂停容器内所有的进程,使其停止运行。暂停后,容器内的所有进程都会被挂起,直到使用
docker unpause
命令来恢复它们的运行。
- 用法:
-
恢复容器 (
docker unpause
):- 用法:
docker unpause <container_name_or_id>
- 作用:恢复之前暂停的容器。这个命令会使被暂停的容器内的所有进程恢复运行。
- 用法:
这些命令可以帮助你在需要时暂停和恢复容器的运行,让你能够更灵活地控制容器的状态。
4.删除
docker rm
命令用于删除一个或多个已经停止的容器。以下是该命令的详细说明:
- 用法:
docker rm <container_name_or_id>
- 作用:删除指定的容器。如果要删除多个容器,可以在命令中列出它们的名称或 ID。
- 示例:
docker rm my_container
或docker rm container1 container2
- 注意:要删除正在运行的容器,需要先停止它们,然后再使用
docker rm
命令删除。
这个命令可以帮助你清理不再需要的容器,释放系统资源。在使用之前,请确保你真的不再需要这些容器,因为删除后将无法恢复。
docker rm是删除容器,而docker rmi是删除镜像。
二、生命周期
Docker 容器的生命周期包括以下几种状态的切换:
-
创建(Created):当你使用
docker create
命令创建一个容器时,容器就处于创建状态。在这个阶段,容器已经被创建,但还没有被启动。 -
启动(Running):当你使用
docker start
命令启动一个已经创建的容器时,容器就会进入运行状态。在这个阶段,容器内的进程正在运行。 -
暂停(Paused):你可以使用
docker pause
命令来暂停一个正在运行的容器,使得容器内的所有进程都会被挂起。 -
恢复(Unpaused):使用
docker unpause
命令可以恢复一个被暂停的容器,使得容器内的进程继续运行。 -
停止(Stopped):当你使用
docker stop
命令停止一个运行中的容器时,容器会进入停止状态。在这个阶段,容器内的进程会被发送 SIGTERM 信号,然后等待一段时间后被强制终止。 -
删除(Deleted):使用
docker rm
命令可以删除一个已经停止的容器,释放其占用的系统资源。
这些状态之间的切换反映了容器在其生命周期中的不同阶段,理解这些状态的切换有助于更好地管理和维护 Docker 容器。
三、资源限制
1.内存限额
容器可使用的内存包括两部分:物理内存和swap。
-m或 --memory
:设置内存的使用限额,例如100MB,2GB。默认情况下值为-1,即无上限。
--memory-swap
:设置内存+swap的使用限额。默认情况下值为-1,即无上限。如果在启动容器时只指定 -m而不指定 --memory-swap,那么 --memory-swap默认为 -m的两倍。
--vm
:启动内存工作线程数量。
--vm-bytes
:每个线程分配多大内存
- 示例:
docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1--vm-bytes 280M
2.CPU限额
默认设置下,所有容器可以平等地使用host CPU资源并且没有限制。
Docker可以通过 -c或 --cpu-shares
设置容器使用CPU的权重。如果不指定,默认值为1024。
与内存限额不同,通过 -c设置的cpu share是一个相对的权重值。某个容器最终能分配到的CPU资源取决于它的cpu share占所有容器cpu share总和的比例。
- 示例:
containerA的cpu share 1024,是containerB的两倍。当两个容器都需要CPU资源时,containerA可以得到的CPU是containerB的两倍。
docker run --name "container_A" -c 1024 ubuntu docker run --name "container_B" -c 512 ubuntu
3.磁盘读写带宽限额
bps是byte per second,每秒读写的数据量。
iops是io per second,每秒IO的次数。
可通过以下参数控制容器的bps和iops:
● --device-read-bps:限制读某个设备的bps。
● --device-write-bps:限制写某个设备的bps。
● --device-read-iops:限制读某个设备的iops。
● --device-write-iops:限制写某个设备的iops。
- 示例:
限制容器对 /dev/sda 设备的写入带宽为 1MB/s。
docker run --device-write-bps=/dev/sda:1mb my_container
还可以通过设置 --blkio-weight
参数来改变容器block IO的优先级。
–blkio-weight与 --cpu-shares类似,设置的是相对权重值,默认为500。
在下面的例子中,containerA读写磁盘的带宽是containerB的两倍。
- 示例:
docker run -it --name container_A --blkio-weight 600 ubuntu docker run -it --name container_B --blkio-weight 300 ubuntu
四、cgroup和namespace
Docker 使用了 Linux 内核提供的两个重要特性来实现容器化:cgroup(Control Groups)和 namespace。以下是对它们的详细说明:
-
cgroup(控制组):
- cgroup 是 Linux 内核提供的一种机制,用于限制、账户和隔离一个或多个进程的资源使用。通过 cgroup,你可以限制容器对 CPU、内存、磁盘 I/O 等资源的使用。
- 在 Docker 中,cgroup 被用来限制容器的资源使用,例如限制 CPU 使用率、内存使用量、磁盘 I/O 带宽等。
- 通过 cgroup,Docker 可以确保容器在运行时不会过度占用宿主机的资源,从而实现资源的隔离和管理。
-
namespace(命名空间):
- namespace 是 Linux 内核提供的另一种机制,用于隔离系统资源,使得在一个命名空间中的进程看到的资源与其他命名空间中的进程是隔离的。
- 在 Docker 中,namespace 被用来隔离容器的进程空间、网络空间、文件系统空间等。每个容器都有自己独立的命名空间,使得它们看到的系统资源是隔离的。
- 通过 namespace,Docker 可以实现容器的隔离,使得每个容器都拥有自己独立的运行环境,互相之间不会产生影响。
综合起来,cgroup 和 namespace 是 Docker 实现容器化的重要基础,它们使得 Docker 能够实现资源的隔离、管理和容器的隔离运行。
五、常用命令
最后,总结一下docker容器的常用命令:
-
create:创建容器
- 用法:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
- 说明:使用指定的镜像创建一个新的容器,但不启动它。
- 用法:
-
run:运行容器
- 用法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
- 说明:创建并启动一个新的容器,可以指定各种选项和参数。
- 用法:
-
pause:暂停容器
- 用法:
docker pause CONTAINER
- 说明:暂停指定的容器内所有的进程。
- 用法:
-
unpause:取消暂停继续运行容器
- 用法:
docker unpause CONTAINER
- 说明:取消暂停指定的容器,使得容器内的进程继续运行。
- 用法:
-
stop:发送SIGTERM停止容器
- 用法:
docker stop [OPTIONS] CONTAINER
- 说明:发送 SIGTERM 信号停止指定的容器,等待一定时间后再发送 SIGKILL 信号强制停止。
- 用法:
-
kill:发送SIGKILL快速停止容器
- 用法:
docker kill [OPTIONS] CONTAINER
- 说明:发送 SIGKILL 信号快速停止指定的容器。
- 用法:
-
start:启动容器
- 用法:
docker start [OPTIONS] CONTAINER
- 说明:启动之前停止的容器。
- 用法:
-
restart:重启容器
- 用法:
docker restart [OPTIONS] CONTAINER
- 说明:重启指定的容器。
- 用法:
-
attach:attach到容器启动进程的终端
- 用法:
docker attach [OPTIONS] CONTAINER
- 说明:attach 到正在运行的容器中的主进程的标准输入、输出和错误输出。
- 用法:
-
exec:在容器中启动新进程,通常使用"-it"参数
- 用法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
- 说明:在运行的容器中执行新的命令。
- 用法:
-
logs:显示容器启动进程的控制台输出,用"-f"持续打印
- 用法:
docker logs [OPTIONS] CONTAINER
- 说明:获取容器的日志输出,使用
-f
选项可以持续地打印日志。
- 用法:
-
rm:从磁盘中删除容器
- 用法:
docker rm [OPTIONS] CONTAINER
- 说明:删除指定的容器,释放其占用的磁盘空间。
- 用法:
这些命令涵盖了 Docker 容器的创建、管理、运行和监控等方方面面,是使用 Docker 进行容器化应用开发和部署的重要工具。
相关文章:

玩转Docker(四):容器指令、生命周期、资源限制、容器化支持、常用命令
文章目录 一、容器指令1.运行2.启动/停止/重启3.暂停/恢复4.删除 二、生命周期三、资源限制1.内存限额2.CPU限额3.磁盘读写带宽限额 四、cgroup和namespace五、常用命令 一、容器指令 1.运行 按用途容器大致可分为两类:服务类容器和工具类的容器。 服务类容器&am…...

回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图)
回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图) 目录 回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图)效果…...

Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
一、前言 随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲。早期的手机估计性能弱鸡,而现在的手机性能不…...

【docker】容器使用(Nginx 示例)
查看 Docker 客户端命令选项 docker上面这三张图都是 常用命令: run 从映像创建并运行新容器exec 在运行的容器中执行命令ps 列出容器build 从Dockerfile构建映像pull 从注册表下载图像push 将图像上载到注册表…...

【QT】时间日期与定时器
目录 1.时间日期相关的类 2.日期时间数据与字符串之间的转换 2.1 时间、日期编辑器属性设置 2.2 日期时间数据的获取与转换为字符串 2.3 字符串转换为日期时间 3.QCaIendarWidget日历组件 3.1基本属性 3.2 公共函数 3.3 信号 4.实例程序演示时间日期与定时器的使用 …...

蓝桥杯专题-真题版含答案-【古代赌局】【古堡算式】【微生物增殖】【密码发生器】
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…...

和鲸科技携手深圳数据交易所,“数据+数据开发者生态”赋能人工智能产业发展
信息化时代,数据驱动决策的重要性日益凸显。通过利用数据可以深入了解市场需求、客户行为、竞争态势等关键信息,从而制定更为有效的战略和决策。围绕推动数据要素产业发展,近日,深圳数据交易所(以下简称“深数所”&…...

在MFC(Microsoft Foundation Classes)中 CreateThread函数
CreateThread是Windows API中用于创建新线程的函数。以下是对函数参数的详细解释: lpThreadAttributes(可选):指向SECURITY_ATTRIBUTES结构的指针,用于指定线程的安全性。可以设置为NULL,表示使用默认安全…...

Ubuntu 常用命令之 ls 命令用法介绍
Ubuntu ls 命令用法介绍 ls是Linux系统下的一个基本命令,用于列出目录中的文件和子目录。它有许多选项可以用来改变列出的内容和格式。 以下是一些基本的ls命令选项 -l:以长格式列出文件,包括文件类型、权限、链接数、所有者、组、大小、最…...

【解决】Windows 11检测提示电脑不支持 TPM 2.0(注意从DTPM改为PTT)
win11升级,tpm不兼容 写在最前面1. 打开电脑健康状况检查2. 开启tpm3. 微星主板AMD平台开启TPM2.0解决电脑健康状况检查显示可以安装win11,但是系统更新里显示无法更新 写在最前面 我想在台式电脑上用win11的专注模式,但win10不支持 1. 打…...

ChatGPT 也宕机了?如何预防 DDOS 攻击的发生
最近,开发人工智能聊天机器人的公司 OpenAI 遭受了一次规模较大的分布式拒绝服务(DDoS)攻击,导致其旗下的 ChatGPT 服务在短短 12 小时内遭遇了 4 次断网,众多用户遭受了连接失败的问题。 这次攻击事件引起了广泛的关…...

wireshark下载安装
下载 Wireshark Download 等待下载完成 安装 双击 下面的一定垚勾选上 下图的也一定要勾选上 修改为不重启,不需要重启也是正常的...

如何退回chrome旧版ui界面?关闭Chrome浏览器新 UI 界面
之前启用新UI的方式 Chrome 已经很久没有进行过大的样式修改,但近期在稳定分支中添加了新的 flags 实验性标志,带来了全新的设计与外观,启用方式如下: 在 Chrome 浏览器的搜索栏中输入并访问 chrome://flags 搜索“refresh 2023…...

指针进阶篇
指针的基本概念: 指针是一个变量,对应内存中唯一的一个地址指针在32位平台下的大小是4字节,在64位平台下是8字节指针是有类型的,指针类型决定该指针的步长,即走一步是多长指针运算:指针-指针表示的是两个指…...

C语言之单链表理解与应用
其实网上有好多关于单链表理解,其实知乎上有一篇写的很好,利用图形与代码结合,我觉得写的很好,大家也可以去查一下,每个人都有自己的想法与理解,这里主要看单链表概念,应用场景,举例…...

SpringBoot对PDF进行模板内容填充、电子签名合并
1. 依赖引入–这里只包含额外引入的包 原有项目包不含括在内 <!-- pdf编辑相关--> <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version> </dependency><de…...

Vue3快速上手笔记
Vue3快速上手 1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址:https://github.com/vuejs/vue-next/release…...

LLM中的Prompt提示
简介 在LLM中,prompt(提示)是一个预先设定的条件,它可以限制模型自由发散,而是围绕提示内容进行展开。输入中添加prompt,可以强制模型关注特定的信息,从而提高模型在特定任务上的表现。 结构 …...

【算法Hot100系列】最长回文子串
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

KaiwuDB × 国网山东综能 | 分布式储能云边端一体化项目建设
项目背景 济南韩家峪村首个高光伏渗透率台区示范项目因其所处地理位置拥有丰富的光照资源,该区域住户 80% 以上的屋顶都安装了光伏板。仅 2022 年全年,光伏发电总量达到了百万千瓦时。 大量分布式光伏并网,在输出清洁电力的同时,…...

elasticsearch查询出现Limit of total fields 1000 has been exceeded
项目场景: 在项目中使用elasticsearch保存日志等相关数据,查询页面查询这些日志数据 问题描述 提示:这里描述项目中遇到的问题: 今天在检查日志数据时,发现数据出不来,检查后端日志,发现一直…...

TCP/IP详解——DHCP 协议
文章目录 1. DHCP 协议1.1 DHCP 概念1.2 DHCP 原理1.3 DHCP 续约1.4 DHCP 报文种类1.5 DHCP 报文格式1.6 DHCP 协议抓包分析1.6.1 Wireshark 抓包查看1.6.2 CSNAS 抓包分析 1.7 DHCP 的 Option1.8 思考 1. DHCP 协议 1.1 DHCP 概念 DHCP协议称为动态主机配置协议。 DHCP作用…...

牛客后端开发面试题3
阿里巴巴2021 1、通配符的含义 在字符串匹配时可以代替一定范围的字符。 2、死锁的基本知识 产生死锁的原因: 1.系统资源不足 2.进程运行推进方式不合理 3.分配资源不合理 (把幼儿园老师比作操作系统,幼儿园里的玩具比作系统资源,…...

Postman-脚本自动化及定时执行脚本(7)
一.postman脚本自动化(从postman至Newman可以一键执行脚本并生成报告:) Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境…...

基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目
演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…...

【C++】 C++11 新特性探索:decltype 和 auto
▒ 目录 ▒ 🛫 问题描述环境 1️⃣ decltype推导变量类型推导函数返回类型 2️⃣ auto自动推导变量类型迭代器和范围循环 3️⃣ decltype 和 auto 同时使用🛬 结论📖 参考资料 🛫 问题 描述 C11 引入了一些强大的新特性ÿ…...

【Jeecg Boot 3 - 第二天】1.2、jar 包和 lib 依赖分离,部署包缩小100倍
一、场景 二、思路 三、实战 ▶ 2.1、项目 jar 包解压获取 lib config Stage 1:正常打包获取 jeecg-system-start-3.6.0.jar Stage 2:解压 获取如下文件 Stage 3:获取 lib config ▶ 2.2、获取简化版项目jar包 Stage 1࿱…...

电商平台的易聊集成:无代码开发,API连接,CRM支持
连接电商与客服:易聊的创新解决方案 在迅速变化的电子商务市场中,企业要想保持竞争力,就必须拥有高效灵活的客服体系。易聊,一家领先的AISaaS服务商,正是基于这一需求,推出了一系列创新产品。它们通过智能…...

Draw.io or diagrams.net 使用方法
0 Preface/Foreword 在工作中,经常需要用到框图,流程图,时序图,等等,draw.io可以完成以上工作。 official website:draw.io 1 Usage 1.1 VS code插件 draw.io可以扩展到VS code工具中。...

CAPL——发送自定义报文
文章目录 一、前言二、CANoe操作二、CAPL程序三、Trace结果一、前言 CAPL是CANoe自带的一个编程语言,基本语法基于C语言,通过CAPL可以发挥CANoe更高效、更强大的功能。CAPL最大的特点就是可以编程灵活的完成报文的发送,报文包括通信报文及诊断报文 本文讲述模拟一个报文周…...