目录1. docker run2. docker ps3. docker create4. docker logs5. docker attach6. docker exec7. docker start8. docker stop9. docker restart10. docker kill11. docker top12.docker stats13. docker container inspect15. docker port15. docker cp16. docker diff17. docker commit18. docker pause19. docker unpause20. docker rm21. docker export22. docker wait23. docker rename24. docker container prune25.docker update正文开始1. docker run功能创建一个新的容器并运行一个命令语法docker run [OPTIONS] IMAGE [COMMAND] [ARG...] [OPTIONS] 选项参数这是 Docker 运行的配置项用于控制容器的网络、存储、资源限制、运行模式等。选项非常多通常以 - 或 -- 开头。 IMAGE 镜像这是必填项指定你要基于哪个镜像来创建容器。 [COMMAND] 命令这是可选项用于覆盖镜像中定义的默认启动命令即 Dockerfile 中的 CMD 或 ENTRYPOINT。 [ARG...] 参数这是可选项是传递给 [COMMAND] 的参数。# 在Ubuntu 的宿主机上再创建一个CentOS 7的一个操作系统 roothcss-ecs-c91e:~# cat /etc/*release* DISTRIB_IDUbuntu DISTRIB_RELEASE24.04 DISTRIB_CODENAMEnoble DISTRIB_DESCRIPTIONUbuntu 24.04.4 LTS PRETTY_NAMEUbuntu 24.04.4 LTS NAMEUbuntu .... #去docker hub 找到centos对应的tag将他拉取下来 roothcss-ecs-c91e:~# docker pull centos:7 roothcss-ecs-c91e:~# docker run centos:7 #一跑发现这个容器直接退出了 roothcss-ecs-c91e:~# # docker ps不带任何参数时查看的是运行时的容器 roothcss-ecs-c91e:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES roothcss-ecs-c91e:~# docker ps -a #查看所有容器 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 081c2a30fe7f centos:7 /bin/bash 3 minutes ago Exited (0) 3 minutes ago optimistic_mcnulty别名docker container run关键参数1.-d:后台运行容器并返回容器 ID2.-i:以交互模式运行容器通常与-t同时使用exit可退出容器的交互模式3.-P:随机端口映射容器内部端口随机映射到主机的端口4. -p:指定端口映射格式为主机宿主端口容器端口我们知道我们的LXC或者是我们的Docker它底层都使用了namespace这种隔离技术namespace把我们的网络做了一个隔离 而我们的端口也被隔离起来了隔离起来后如果我们容器里面有一个服务是web服务Nginx nginx服务可对外提供服务它有的一个80端口因为我们给他做了隔离我们外部的用户访问不到它这个时候我们就可以通过-p / -P把我们容器的一个端口和宿主机的端口做一个打通打通之后当访问宿主机的这个80端口时可以自动的把这个流量转到我们容器的一个端口从而访问到nginx, 这就是端口映射从而可以访问到我们容器里面的服务.此处需注意当我们通过外部浏览器访问时因为我们并没有开通这个32772或32773的防火墙所以我们会访问不通但是我们直接通过curl 命令在我们的宿主机上访问本机的127.0.0.1则可行。若我们想通过浏览器通过公网进行访问因为我们使用的是云服务器则需先开通防护墙5.-t:为容器重新分配一个伪输入终端通常与-i同时使用6.--namenginx-lb:为容器指定一个名称7.-h mars:指定容器的hostname8.-e usernameritchie:设置环境变量9.--cpuset-cpus0-2 or --cpuset-cpus0,1,2:绑定容器到指定 CPU运行10.-m :设置容器使用内存最大值11.--networkbridge:指定容器的网络连接类型12.--link[ ]:添加链接到另一个容器13.--volume , -v:绑定一个卷14.--rm:shell退出的时候自动删除容器2. docker ps功能列出容器语法docker ps [OPTIONS]别名docker container ls, docker container list, docker container ps关键参数-a :显示所有的容器包括未运行的。-f :根据条件过滤显示的内容。--format :指定返回值的模板文件。如json或者table-l :显示latest的容器。-n :列出最近创建的n个容器。--no-trunc :不截断输出。-q :静默模式只显示容器编号。-s :显示总的文件大小。3.docker create功能创建一个新的容器但不启动它语法docker create [OPTIONS] IMAGE [COMMAND] [ARG...] 别名 docker container create关键参数-i:以交互模式运行容器通常与-t同时使用-P:随机端口映射容器内部端口随机映射到主机的端口-p:指定端口映射格式为主机(宿主)端口:容器端口-t:为容器重新分配一个伪输入终端通常与-i同时使用--namenginx-lb:为容器指定一个名称-h mars:指定容器的hostname-e usernameritchie:设置环境变量--cpuset-cpus0-2 or --cpuset-cpus0,1,2:绑定容器到指定CPU运行-m :设置容器使用内存最大值--networkbridge:指定容器的网络连接类型--link[ ]:添加链接到另一个容器--volume , -v:绑定一个卷--rm:shell退出的时候自动删除容器--restart:自动重启样例docker create --name mynginx nginx:latest4. docker logs功能查看容器日志语法docker logs [OPTIONS] CONTAINER 别名 docker container logs关键参数-f ,--follow:跟踪日志输出--since :显示某个开始时间的所有日志-t,--timestamps :显示时间戳-n--tail :仅列出最新N条容器日志样例开启容器后#追踪查看容器 mynginx 的日志输出。 docker logs -f mynginx1 #查看容器 mynginx 从 2016 年 7 月 1 日后的最新 10 条日志。 docker logs --since2016-07-01 --tail10 mynginx5.docker attach功能连接到正在运行中的容器。语法docker attach [OPTIONS] CONTAINER 别名 docker container attach关键参数--sig-proxy是否将所有信号代理默认是true如果设置为false退出的话不会影响容器否则退出会导致容器退出样例root139-159-150-152:/data/myworkdir/dockerfile/cache# docker attach mynginx #此处按了 ctrlc 后会把容器杀死 ^C2023/03/15 06:26:24 [notice] 1#1: signal 2 (SIGINT) received, exiting 2023/03/15 06:26:24 [notice] 28#28: exiting 2023/03/15 06:26:24 [notice] 28#28: exit 2023/03/15 06:26:24 [notice] 1#1: signal 17 (SIGCHLD) received from 28 2023/03/15 06:26:24 [notice] 1#1: worker process 28 exited with code 0 2023/03/15 06:26:24 [notice] 1#1: exit root139-159-150-152:/data/myworkdir/dockerfile/cache# docker attach --sig-proxyfalse mynginx #此处按了 ctrlc 不会把容器杀死显示报文为CONTAINER ID:容器ID。IMAGE:使用的镜像。COMMAND:启动容器时运行的命令。CREATED:容器的创建时间。STATUS:容器状态。PORTS:容器的端口信息和使用的连接类型tcp\udp。NAMES:自动分配的容器名称。6. docker exec功能在容器中执行命令语法docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 别名 docker container exec关键参数-d :分离模式:在后台运行-i :即使没有附加也保持STDIN打开-t :分配一个伪终端-e :设置环境变量-u,--user :指定用户name|uid[:group|gid]-w,--workdir:指定工作目录样例#在容器 mynginx 中以交互模式执行 echo: docker exec -it mynginx echo Hello bit #在容器 mynginx 中以交互模式打开 shell: docker exec -it mynginx bash #通过 id 进去docker ps 可以看到容器 id7. docker start功能启动停止的容器语法docker start [OPTIONS] CONTAINER [CONTAINER...] 别名 docker container start样例8. docker stop功能停止运行的容器语法docker stop [OPTIONS] CONTAINER [CONTAINER...] 别名 docker container stop关键参数-s :发送的信号9. docker restart功能重启容器语法docker restart [OPTIONS] CONTAINER [CONTAINER...] 别名 docker container restart关键参数-s :发送信号10. docker kill功能强制退出容器语法docker kill [OPTIONS] CONTAINER [CONTAINER...] 别名 docker container kill关键参数-s :发送的信号注意事项Docker stop发送的是SIGTERM信号docker kill发送的是SIGKILL信号11. docker top功能查看容器中运行的进程信息支持ps命令参数。语法docker top CONTAINER [ps OPTIONS] 别名 docker container top注意事项容器运行时不一定有/bin/bash 终端来交互执行 top 命令而且容器还不一定有top 命令可以使用docker top来实现查看container中正在运行的进程。12.docker stats功能显示容器资源的使用情况包括CPU、内存、网络I/O等。语法docker stats [OPTIONS] [CONTAINER...] 别名 docker container stats关键参数--all , -a :显示所有的容器包括未运行的。--format :指定返回值的模板文件。如table,json--no-stream :展示当前状态就直接退出了不再实时更新。--no-trunc :不截断输出。返回报文CONTAINER ID与NAME:容器ID与名称。CPU %与MEM %:容器使用的CPU和内存的百分比。MEM USAGE / LIMIT:容器正在使用的总内存以及允许使用的内存总量。NET I/O:容器通过其网络接口发送和接收的数据量。BLOCK I/O:容器从主机上的块设备读取和写入的数据量。PIDs:容器创建的进程或线程数。样例docker stats13. docker container inspect功能:查看容器详细信息语法:docker container inspect [OPTIONS] CONTAINER [CONTAINER...]关键参数:-f :指定返回值的模板文件。如table、json-s :显示总的文件大小。注意事项docker inspect会自动检查是镜像还是容器然后显示相信信息15. docker port功能用于列出指定的容器的端口映射或者查找将 PRIVATE_PORT NAT到面向公众的端口。语法docker port CONTAINER [PRIVATE_PORT[/PROTO]] 别名 docker container port样例15. docker cp功能在容器和宿主机之间拷贝文件语法docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH | - CONTAINER: 容器名称或 ID SRC_PATH: 容器内的源路径 DEST_PATH: 宿主机的目标路径 -: 特殊符号表示输出到标准输出stdout docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH SRC_PATH: 宿主机的源路径 -: 从标准输入stdin读取数据 CONTAINER: 容器名称或 ID DEST_PATH: 容器内的目标路径 别名 docker container cp样例场景准备# 启动一个测试容器 docker run -d --name mynginx nginx场景一从容器复制文件到宿主机# 把容器中的 nginx 配置文件复制出来 docker cp mynginx:/etc/nginx/nginx.conf ./nginx.conf #结果在当前目录下得到 nginx.conf 文件。 # 复制整个目录 docker cp mynginx:/etc/nginx ./nginx-conf-backup #结果把容器内的 /etc/nginx 目录完整复制到宿主机的 ./nginx-conf-backup。场景二从宿主机复制文件进容器# 把宿主机文件复制进容器 docker cp ./index.html mynginx:/usr/share/nginx/html/index.html # 结果替换容器中 nginx 的首页文件。 # 复制整个目录到容器 docker cp ./my-website/. mynginx:/usr/share/nginx/html/ # 注意末尾的 / 和 .表示把 my-website 里的内容复制到目标目录。16. docker diff功能检查容器里文件结构的更改。语法docker diff CONTAINER17. docker commit功能从容器创建一个新的镜像。语法docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]参数-a :提交的镜像作者-c :使用Dockerfile指令来创建镜像可以修改启动指令-c :使用Dockerfile指令来创建镜像可以修改启动指令-c :使用Dockerfile指令来创建镜像可以修改启动指令18. docker pause功能:暂停容器中所有的进程。语法docker pause CONTAINER [CONTAINER...] 别名 docker container pause样例19. docker unpause功能恢复容器中所有的进程。语法docker unpause CONTAINER [CONTAINER...] 别名 docker container unpause样例20. docker rm功能:删除停止的容器语法docker rm [OPTIONS] CONTAINER [CONTAINER...] 别名 docker container rm关键参数-f :通过SIGKILL信号强制删除一个运行中的容器。样例21. docker export功能导出容器内容为 tar文件语法docker export [OPTIONS] CONTAINER 别名 docker container export关键参数-o:写入到文件。样例#导出 nginx 为 tar docker export -o mynginx202203.tar mynginx22. docker wait功能阻塞运行直到容器停止然后打印出它的退出代码。语法docker wait CONTAINER [CONTAINER...] 别名 docker container wait样例docker wait mynginx23. docker rename功能重命名容器语法docker rename CONTAINER NEW_NAME 别名 docker container rename样例docker rename mynginx myweb24. docker container prune功能删除所有停止的容器语法docker container prune [OPTIONS]关键参数-f, --force不提示是否进行确认样例docker container prune25.docker update功能更新容器配置语法docker update [OPTIONS] CONTAINER [CONTAINER...] 别名 docker container update关键参数--cpuscpu数量--cpuset-cpus :使用哪些cpu--memory :内存限制--memory-swap交换内存--cpu-period:是用来指定容器对CPU 的使用要在多长时间内做一次重新分配--cpu-quota是用来指定在这个周期内最多可以有多少时间用来跑这个容器样例#更新内存 docker update -m 400m myweb
企业数字化 ERP 产品动态
相关推荐
上线之后怎么验收:延迟限流与异步索引 上篇博客讲了怎么把个人项目挂到公网:浏览器能登录、能上传、能问答,算是把主链路跑通了。 这篇主要是讲上线后的工程质量验收:护栏会不会拒、会不会误伤;异步索引是不是真在跑;慢的时候大概慢在哪。例子还是用我的开源… · 2026/11/5 7:54:51
DeepSeek LeetCode 518. 零钱兑换 II Java实现 LeetCode 518. 零钱兑换 II — Java 实现
题目思路
这是典型的完全背包问题:硬币可以无限次使用求组合数(不关心顺序)与 322 题(零钱兑换)的区别:322 求的是最少硬币数,本题求的是方案总数… · 2026/11/5 7:54:51
预期功能安全SOTIF:无故障车辆为何仍会撞人? 简介:面向智能网联汽车功能安全从业者、系统与软件工程师及高校相关专业学习者,这份资料提供预期功能安全(SOTIF)领域的核心标准文本,重点解决自动驾驶与辅助驾驶系统在无故障情况下因性能局限、感知偏差和算法约束而引… · 2026/11/5 8:33:14
智能驾驶中的鸟瞰视角(BEV)技术解析与应用实践 1. 鸟瞰视角在智能驾驶中的核心价值在智能驾驶系统中,鸟瞰视角(BEV,Birds Eye View)技术正逐渐成为环境感知的关键组成部分。与传统的前视或环视摄像头相比,鸟瞰视角通过将多个摄像头的图像拼接并投影到俯视平面&#… · 2026/11/5 8:33:14
vLLM分布式数据并行原理与调优实践 1. 项目背景与核心概念 在大模型推理领域,分布式并行技术是突破单卡显存限制的关键手段。最近在调试一个基于vLLM框架的分布式数据并行(DP)实现时,遇到了几个典型问题。这里记录下vLLM中DP并行的实现原理、常见问题及解决方案。 vLLM作为当前最流行的高… · 2026/11/5 8:33:14
MySQL内置函数实战技巧与性能优化指南 1. MySQL内置函数全面解析作为一名长期与MySQL打交道的开发者,我发现很多刚入门的同行对内置函数的理解仅限于表面用法。今天我将结合多年实战经验,深度剖析MySQL最常用的四类内置函数,带你掌握那些官方文档里没写的实用技巧。2. 日期函数实战… · 2026/11/5 8:33:14
0-1 BFS算法在水质检测最短路径问题中的应用 1. 问题背景与算法选型蓝桥杯竞赛中的"水质检测"问题是一个典型的图论最短路径问题。题目通常描述为:给定一个NM的网格地图,其中某些网格是污染源(障碍物),检测员需要从起点出发,找到到达目标点的… · 2026/11/5 8:33:14
高效会议互动设计:10个实战方案提升40%会议效率 1. 会议互动环节设计的核心价值会议冷场和跑题是职场中最常见的两大痛点。根据我过去五年为37家企业设计会议流程的经验,传统会议模式中平均每小时的无效时间高达18分钟。而精心设计的互动环节能将会效提升40%以上,这个数据来自我们对实施新会议模式的23… · 2026/11/5 8:32:13
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
多智能体协作系统架构设计与实践优化 1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39
大模型系统性入门实战指南:从原理到部署微调的全链路路线 提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39
鸿蒙文件系统沙箱机制解析与开发实践 1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38