当前位置: 首页 > web >正文

(四)docker命令—容器管理命令

 1.Docker常用命令概述

1.1 容器管理命令

用于容器管理的基本命令

命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

IMAGE:指定容器镜像(如 nginx:latest

COMMAND:容器内执行的命令(如 bash),默认为镜像定义的启动命令

1.1.1 【常用重点】docker run:在新容器中执行命令

linux参数格式

短参数:单个减号 - ,后面加单个字母、 如果选项需要加参数的时候,紧跟在选项后面(或者加空格) 

mysql -uroot -p     或    mysql -u  root  -p   

长参数:  两个减号 -- , 后面加单词 ,GNU风格更容易理解,因为出现的不再是单个的字母。如果选项需要带参数,则使用空格或者=将参数和选项分开

ls --sort time  或 ls --sort=time

官方文档链接: docker container run | Docker Docshttps://docs.docker.com/reference/cli/docker/container/run/ 

短参数长参数作用备注
-d--detach=false指定容器运行于前台还是后台,默认为false
-i--interactive=false打开STDIN,用于控制台交互
-t--tty=false 分配tty设备,该可以支持终端登录,默认为false
-u--user=""指定容器的用户
-a--attach=[]登录容器(必须是以docker run -d启动的容器)
-w--workdir=""指定容器的工作目录
-c--cpu-shares=0设置容器CPU权重,在CPU共享场景使用
-e--env=[]指定环境变量,容器中可以使用该环境变量
-m--memory="" 指定容器的内存上限
-P--publish-all=false将容器内所有暴露的端口随机映射到宿主机的端口(自动化处理所有暴露的端口,适合于不确定哪些端口需要暴露时使用。)
-p--publish=[]指定容器暴露的端口: -p 宿主机端口:容器端口
-h--hostname=""指定容器的主机名
-v--volume=[]给容器挂载存储卷,挂载到容器的某个目录
--volumes-from=[]给容器挂载其他容器上的卷,挂载到容器的某个目录
--cap-add=[]添加权限,权限清单详见https://linux.die.net/man/7/capabilities
--cap-drop=[] 删除权限,权限清单详见https://linux.die.net/man/7/capabilities
--cidfile=""运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
--cpuset=""设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
--device=[]添加主机设备给容器,相当于设备直通
--dns=[] 指定容器的dns服务器
--dns-search=[]指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
--entrypoint=""覆盖image的入口点
--env-file=[]指定环境变量文件,文件格式为每行一个环境变量
--expose=[]指定容器暴露的端口,即修改镜像的暴露端口
--link=[]指定容器间的关联,使用其他容器的IP、env等信息
--lxc-conf=[]指定容器的配置文件,只有在指定--exec-drive
--name=""指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
--net="bridge"容器网络设置
bridge 使用docker daemon指定的网桥
host //容器使用主机的网络
container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
none 容器使用自己的网络(类似--net=bridge),但是不进行配置

--privileged=false指定容器是否为特权容器,特权容器拥有所有的capabilities
--restart="no"

指定容器停止后的重启策略:

no:容器退出时不重启 on-failure:容器故障退出(返回值非零)时重启 always:容器退出时总是重启

--rm=false指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
--sig-proxy=true设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

1.1.2 docker start:启动一个或多个已停止的容器

  • 命令

docker start命令用于启动已停止的容器

docker start [OPTIONS] CONTAINER [CONTAINER...]

options可选参数
-a: 附加到容器的标准输入、输出和错误输出。
-i:以交互模式运行容器。

  • 使用示例
# 1.启动单个容器
docker start <container_id>
# 比如我们要启动名为 name1 的容器,命令如下:
docker start b46d7d1aa479# 2. 启动多个容器
docker start <container_id1> <container_id2>
# 比如我们要同时启动名为 name1 和 name2 的容器,命令如下:
docker start b46d7d1aa479 3e747fd0bc2e#  3. 使用容器的CONTAAINER NAME启动容器
docker start CONTAINER
# 比如我们要启动名为 name1 的容器,命令如下:
docker start name1#  4.启动所有容器
docker start $(docker ps -a -q)

1.1.3 docker stop:停止一个正在运行的容器

  • 命令

用于停止运行中的容器。以下是其基本语法:

docker stop [OPTIONS] CONTAINER [CONTAINER...]

options可选参数

  • -t:指定停止容器前的超时时间(默认为10秒)

使用示例

# 1.停止单个容器,可以通过容器id或者容器name停止容器
docker stop <container_id>docker stop <container_name># 比如我们要启动名为 name1 的容器,命令如下:
docker stop jenkins_salah docker stop b46d7d1aa479# 2. 停止多个容器,可以通过多个容器id或者容器name停止容器
docker stop <container_id1> <container_id2>docker stop <container_name1> <container_name2># 比如我们要同时停止名为 name1 和 name2 的容器,命令如下:
docker stop  b46d7d1aa479 3e747fd0bc2edocker stop  name1 name2 #  3.停止所有容器
docker stop $(docker ps -a -q)

1.1.4 docker restart:重启一个正在运行的容器

同上 start stop使用方式

1.1.5 docker kill:强制停止一个正在运行的容器

docker kill [OPTIONS] CONTAINER [CONTAINER...]

$docker kill Name/ID

1.1.6 docker rm:删除一个或多个容器


# 删除所有容器  
$docker rm `docker ps -a -q`  # 删除单个容器; -f, --force=false; -l, --link=false Remove the specified link and not the underlying container; -v, --volumes=false Remove the volumes associated to the container  
$docker rm Name/ID

1.1.7 docker pause:暂停容器的所有进程

  • 作用:暂停一个或多个容器中的所有进程 
  • 要操作的容器的名称,可以同时操作多个
docker pause CONTAINER [CONTAINER...]

实例:
①暂停一个容器及其所有进程:
docker pause myContainer。
②同时暂停多个容器的所有进程:
docker pause container1 container2 container3。使用场景:
①临时暂停活动: 当需要临时暂停容器中的所有活动以进行系统维护或资源管理时,可以使用 docker pause。
②资源管理: 在需要重新分配系统资源时,暂停不必要的容器以释放资源。
③调试和故障排除: 在调试或故障排除过程中暂停容器以分析当前状态。

1.1.8 docker unpause:恢复容器的所有进程

  • 作用:恢复一个或多个容器中的所有进程

语法:
docker unpause CONTAINER [CONTAINER…](要操作的容器的名称,可以同时操作多个)。实例:
①恢复一个容器及其所有进程:
docker unpause myContainer。
②同时恢复多个容器的所有进程:
docker unpause container1 container2 container3。

http://www.xdnf.cn/news/12079.html

相关文章:

  • 在 Spring Boot 中使用 WebFilter:实现请求拦截、日志记录、跨域处理等通用逻辑!
  • 嵌入式学习笔记 - freeRTOS的两种临界禁止
  • 改进社区检测和检索策略大幅提升GraphRAG性能新框架-ArchRAG
  • 策略公开了:年化494%,夏普比率5.86,最大回撤7% | 大模型查询akshare,附代码
  • 从 CLIP 和 Qwen2.5-VL 入门多模态技术
  • 2025Mybatis最新教程(三)
  • fmod产生的误差应该如何解决?
  • 日志项目——日志系统框架设计
  • 卡特兰数简单介绍
  • C++初阶 | 模板
  • C#中的依赖注入Dependency Injection, DI
  • AI 如何改变软件文档生产方式?
  • 图解浏览器多进程渲染:从DNS到GPU合成的完整旅程
  • JavaScript学习笔记(五)
  • 数据预处理的几种形式(转载)
  • 如何从零开始建设一个网站?
  • 卫星在轨姿态控制技术详解:从自旋稳定到高精度闭环控制
  • Redis中的setIfAbsent方法和execute
  • #开发环境篇:postMan可以正常调通,但是浏览器里面一直报403
  • python打卡day44@浙大疏锦行
  • GAN训练困境与模型分类:损失值异常与生成判别模型差异解析
  • WES7系统深度定制全流程详解(从界面剥离到工业部署)
  • RoPE 详解:旋转位置编码的原理与实践《一》
  • 回归分析-非线性回归及岭回归.docx
  • 基于51单片机的汽车雨刮器模拟proteus仿真
  • 【Linux】Linux 环境变量
  • 408考研逐题详解:2009年第31题
  • 组合式过电压保护器安装指南
  • 第N1周:one-hot编码案例
  • 使用cursor 编辑器开发 Vue项目,配置ESlint自动修复脚本,解决代码不规范引起的报错无法运行项目问题