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

容器操作案例

容器基本操作

通过nginx镜像文件创建容器,这里不加版本号默认是最新的版本

容器的列举,只列举正在运行的容器

停止正在运行的容器

删除容器

容器状态迁移

创建容器,并不运行使用create

启动容器,使用start

使用stop停止容器

再次启动容器,然后kill容器

启动容器,然后暂停容器

恢复容器(取消暂停)

重启容器,通过观察容器的运行时间来判断容器是否重启

通过rm 删除容器 要先停止容器

容器批量处理技巧

命令

解释

docker container ls -qf name=xxx

根据名称过滤得到容器编号

docker container ls --filter status=running

根据状态过滤容器信息

docker container ls -aq

静默获取全部容器id

docker container ls --filter ancestor=xxx

过滤镜像名为xxx的容器信息

docker container ls --filter ancestor=xxx

过滤镜像id为xxx的容器信息

-a表示打印所有的容器信息,包括正在运行和已经退出的

-q表示只返回容器ID

-f表示基于给的条件过滤等价于--filter选项

批量停止容器

根据容器的状态批量删除容器,注意状态哪里虽然我们查出来的是大写,但是我们要写成小写

容器交互模式

attached和detached模式

首先通过nginx镜像创建一个容器,映射80端口,如下图所示,通过这样的方式创建的容器,就是attached模式,这样容器会在前台运行

这是访问服务器网址,命令窗口就会打印日志,Docker容器的日志会实时的展现到窗口并且占用此端口

这个模式很容易被我们按到ctrl+c停止掉服务,所以我们需要一个更好的、更稳定的模式,对应的是datached模式(其实就是后台运行),对于后台运行的容器可以通过logs查看这个容器的日志,logs的-f选项可以动态跟踪日志

interactive模式

当我们创建好一个容器之后,可能需要去容器内部获取一些信息或执行一些命令,这就需要进入到交互模式。

例如创建一个ubuntu容器之后,需要到系统里输入各种shell命令和系统进行交互就需要进入交互模式才能完成。

创建运行容器并进入到交互模式,这里的sh是容器启动时要运行的命令,如果是Ubuntu的镜像那么这个参数就是bash

针对一个已经运行的容器进入到它的交互模式

容器和宿主机内容复制

首先我们创建容器,并拷贝宿主机文件到容器

然后我们到容器中查找拷贝的文件并打印内容验证拷贝

从外部页面访问

现在在容器中修改文件内容

拷贝容器内的文件到宿主机,并查看内容,发现文件已经被覆盖

清理容器释放空间,停止并删除容器

容器自动删除

启动一个nginx,并指定--rm选项

停止容器,并查看容器是否存在,发现容器自动删除了

容器自动启动

容器重启选项如下

docker run --restart=no [容器名]

默认值不自动重启

docker run --restart=on-failure:3 [NAME]

on-failure若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过指定次数未能启动容器则放弃

docker run --restart=always [NAME]

always容器退出时总是重启,但不考虑Docker守护进程启动时就已经停止的容器

如果容器启动时没有设置--restart参数,则通过docker update --restart=always [NAME]进行更新

启动nginx服务,kill启动进程

再次查看容器状态,发现容器还是启动状态

释放资源

容器环境变量设置

容器详情查看

启动容器并查看详细信息

容器执行单行命令

我们可以直接借助docker的容器环境执行一些命令,比如容器中有某个命令而宿主机上没有这个时候借助容器可以完成某些任务

可以看到容器执行完命令,就自动删除了,其实是自动停止然后通过--rm删除,要测试可以去掉--rm然后查看所有容器。

容器镜像导入和导出

容器资源查看

http://www.dtcms.com/a/346377.html

相关文章:

  • C语言——内存函数
  • TTS文字合成语音芯片的使用场景
  • No module named blake2b
  • GaussDB GaussDB 数据库架构师修炼(十八)SQL引擎(1)-SQL执行流程
  • ODDR双边沿数据输出
  • 1小时检测cAMP的武功秘籍
  • AI 绘画争议背后:版权归属、艺术原创性与技术美学的三方博弈
  • Linux系统安装llama-cpp并部署ERNIE-4.5-0.3B
  • Unity--判断一个点是否在扇形区域里面(点乘和叉乘的应用)
  • Day2--HOT100--283. 移动零,11. 盛最多水的容器,15. 三数之和
  • 94. 城市间货物运输 I, Bellman_ford 算法, Bellman_ford 队列优化算法
  • 【Android】 连接wifi时,强制应用使用流量
  • 反射【Reflect】
  • 深入浅出【最小生成树】:Prim与Kruskal算法详解
  • 111、【OS】【Nuttx】【周边】效果呈现方案解析:-print0 选项
  • AQS模板方法
  • 使用 Google 开源 AI 工具 LangExtract 进行结构化信息抽取
  • 单片机---------WIFI模块
  • Seaborn数据可视化实战:Seaborn数据可视化入门-绘制统计图表与数据分析
  • Dify 从入门到精通(第 49/100 篇):Dify 的自动化测试
  • STM32 硬件I2C读写MPU6050
  • 【链表 - LeetCode】24. 两两交换链表中的节点
  • 纯手撸一个RAG
  • 黄飞对话小熊电器流程与IT负责人:企业数字化进阶与AI实践如何落地?
  • QIcon::actualSize的作用和用法
  • 2025/8/22 xxl-job速通
  • 解决 微信开发者工具 :下载基础库版本 2.31.0 失败
  • RAG和微调是什么?两者的区别?什么场景使用RAG或微调?判断依据是什么?
  • LINUX网络编程--网络的发展与通信
  • AI赋能环保精准治理:AI水质监测溯源快、空气质量预测施策准,守护生态新效能