Docker的容器管理操作

news2024/12/23 12:35:49

Docker的容器管理操作

  • Docker的容器管理操作
    • 1. 创建容器
    • 2. 启动容器
    • 3、查看容器的运行状态
    • 4、创建并启动容器
    • 5、在后台持续运行 docker run 创建的容器
    • 6、停止容器
    • 7、 删除容器
    • 8、 容器的进入
    • 9、查看容器的元数据——docker inspect
    • 10、容器日志
    • 11、宿主机和容器之间的文件复制
      • 将宿主机中的文件复制到容器中
      • 将容器中的文件复制到宿主机中
      • 12、容器的导出与导入(容器的迁移)

Docker的容器管理操作

  • 容器创建:就是将镜像加载到容器的过程。
  • 新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。

1. 创建容器

格式:
docker create [选项] 镜像
常用选项:

选项
-i让容器开启标准输入接受用户输入命令
-t让Docker 分配一个伪终端 tty
-it合起来实现和容器交互的作用,运行一个交互式会话 shell
docker create -it --name=test01 nginx:latest /bin/bash
#创建容器并指定名称为test01,(创建容器时如果没有指定容器名称,系统会自动生成一个名称)

docker ps -a #-a 选项可以显示所有的容器

在这里插入图片描述

2. 启动容器

格式:
docker start 容器的ID/名称

docker start 40a920a087ba
docker ps -a 

在这里插入图片描述

3、查看容器的运行状态

docker ps [选项]

 docker ps        #查看当前运行状态的容器
 docker ps -q     #只显示运行状态的容器的ID
 docker ps -a     #-a 选项可以显示所有的容器
 docker ps -aq    #只显示所有容器的ID
 docker ps -as    #显示所有容器的大小
 docker ps -n 2   #查看最后创建的2个镜像


-a:显示所有的容器,包括未运行的
-f:根据条件过滤显示的内容
–format:指定返回值的模板文件
-l:显示最近创建的容器
-n:列出最近创建的n个容器
-no-trunc:不间断输出
-q:静默模式,只显示容器编号
-s:显示总的文件大小

示例:

docker ps #查看当前运行状态的容器
docker ps -a #查看所有的容器
docker ps -aq   #只查看所有容器的ID

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、创建并启动容器

可以直接执行 docker run 命令, 等同于先执行 docker create 命令,再执行 docker start 命令。

注意:容器是一个与其中运行的 shell 命令/进程共存亡的终端,命令/进程运行容器运行, 命令/进程结束容器退出。

docker 容器默认会把容器内部第一个进程,
也就是 pid=1 的程序作为docker容器是否正在运行的依据,
如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,
也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。

当利用 docker run 来创建容器时, Docker 在后台的标准运行过程是:

  1. 检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
  2. 利用镜像创建并启动一个容器;
  3. 分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
  4. 从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
  5. 分配一个地址池中的 IP 地址给容器;
  6. 执行用户指定的应用程序,执行完毕后容器被终止运行。

格式:
docker run [选项] 镜像 [命令] [参数...]

docker run centos:7 /usr/bin/bash -c ls /
 #如果本地没有该镜像,会自动去仓库拉取镜像。
 #启动容器后执行"ls /"命令,执行完命令后退出容器

docker ps -a					#会发现创建了一个新容器并启动执行一条 shell 命令,之后就停止了


在这里插入图片描述

5、在后台持续运行 docker run 创建的容器

需要在 docker run 命令之后添加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。

docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello;done"

docker ps -a 	#可以看出容器始终处于 UP,运行状态

在这里插入图片描述

使用 -itd 选项,可以创建并持续运行容器。即使进入容器后使用exit命令退出容器,也不会停止容器。

 #-itd 后台运行容器.使用--name 指定名称
 docker run -itd --name test2 centos:7  /bin/bash
 ​
 #查看容器状态,可以看出始终处于 UP,运行状态
 docker ps -a

在这里插入图片描述

6、停止容器

格式:

 格式:
 docker stop 容器的ID/名称      #正常停止,可以给容器一个等待时间,以防止数据的丢失。docker kill 容器的ID/名称   #强制停止,(相当于linux命令 kill -9),不会给容器反应时间,可能造成数据丢失docker stop $(docker ps -aq)   #批量停止容器docker ps -a |awk 'NR>=2 {print $1}' | xargs docker stop   #批量停止容器


示例:

 docker ps -a                  #查看容器ID
 docker stop e1375f7bfc0b      #停止容器

在这里插入图片描述

7、 删除容器

不能删除运行状态的容器,需要先停止再删除。或者使用-f强制删除。
格式:
docker rm <容器ID/名称> [-f] #删除容器

docker rm $(docker ps -aq)     #批量删除所有容器

docker ps -a | awk 'NR>=2 {print $1}' | xargs docker rm    #批量删除所有容器

示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、 容器的进入

需要进入容器进行命令操作时,可以使用 docker exec 命令进入运行中的容器。进入容器前,确保容器正在运行。

  • 我们通常会使用 docker  exec -it bash 进入容器并开启一个bash环境的伪终端。也可以将bash 换成其他一条命令,让容器执行完后,将结果输出到屏幕
  • 后面可以跟上 -c 选项  “命令序列" ,命令序列可以是多个命令,使用分号隔开,可以一次性执行多条命令。

格式:
docker exec -it 容器ID/名称 /bin/bash

 -i:选项表示让容器的输入保持打开。
 -t :选项表示让 Docker 分配一个伪终端。
 -it /bin/bash:进入容器时需要指定一个shell环境。

示例1:
前台运行容器时进入容器,使用exit退出容器后,容器就停止了。
在这里插入图片描述

示例2:
后台运行容器,之后使用docker exec进入容器,exit退出容器,容器不会停止。
在这里插入图片描述

9、查看容器的元数据——docker inspect

格式:
docker inspect 容器id/容器名称
在这里插入图片描述
在这里插入图片描述

10、容器日志

格式:
docker logs 容器ID/容器名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11、宿主机和容器之间的文件复制

将宿主机中的文件复制到容器中

 #将宿主机中的文件复制到容器中
 echo 123 > /opt/f1.txt
 docker cp /opt/f1.txt  容器ID:/tmp/

在这里插入图片描述

将容器中的文件复制到宿主机中

 docker cp 容器ID:/tmp/f1.txt  ~/abc.txt   #复制并重命名

在这里插入图片描述

12、容器的导出与导入(容器的迁移)

用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。
可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。(注意:导入文件后会生成镜像,但不会自动创建容器。)

  • 导出格式:
    docker export 容器ID/名称 > 导出文件名
  • 导入格式:
    cat 导出文件名 | docker import - 镜像名称:标签

主机A将容器导出为文件,并将导出的文件传给主机B:
在这里插入图片描述
在这里插入图片描述

命令作用
docker create -i [–name=容器名称] 镜像名创建容器
docker create -it [–name=容器名称] 镜像名 <命令>创建容器并导入命令
docker start <容器ID/名称>启动容器
docker stop <容器ID/名称>停止容器
docker kill <容器ID/名称>立即强制停止容器
docker ps查询运行状态的容器
docker ps -a查询所有容器
docker rm [-f] <容器ID/名称>删除容器 (-f 强制删除正在运行的容器)
docker rm $(docker ps -aq)删除所有容器
docker run [–name] -id启动容器(一次性执行)
docker exec -it 容器ID/名称 bash进入容器
docker run -it 容器ID/名称 bash启动时进入容器
docker cp 宿主机文件 容器ID:容器目录将宿主机的文件复制到容器中
docker cp 容器ID:容器目录/文件 宿主机目录将容器中的文件复制到宿主机中
docker logs容器pid=1的进程日志
docker export 容器ID/名称 > 文件名将容器导出为文件cat 文件名
docker import - 镜像名称:标签将导出的容器文件,导入生成镜像
docker stats查看docker消耗的资源状态

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android——FloatingActionButton使用说明以及避坑

1、简介 1.1、 com.android.support库下 compile com.android.support:design:26.0.0 1.2、material库下 com.google.android.material.floatingactionbutton.FloatingActionButton 库下 implementation com.google.android.material:material:1.1.0 官方地址&#xff1a;…

怎么有效地进行问卷发放?

进行问卷调查分为四步&#xff1a;制作问卷、发放问卷、收集问卷、分析问卷。其中&#xff0c;发放问卷起到了关键性的作用。他关乎到我们后续收集问卷是否顺利&#xff0c;收集到的问卷数据是否具备真实性和有效性。那么&#xff0c;怎么有效地进行问卷发放呢&#xff1f; 1、…

右键实现打开对应的软件

右键实现打开对应的软件前言&#xff1a;下面我以右键打开Pycharm为例子&#xff01;&#xff01;&#xff01;一、打开注册表1.1 WinR&#xff0c;输入regedit,回车二、实现右键打开特定文件的效果2.1找到路径&#xff1a;计算机\HKEY_CLASSES_ROOT\*\shell2.2 创建文件夹2.3 …

【In-Context Learning】Meta-learning via Language Model In-context Tuning

In-Context Learning是最近比较火热的方向&#xff0c;其主要针对超大规模模型&#xff08;例如1750B参数量的GPT-3模型&#xff09;&#xff0c;在只提供少量标注样本作为提示的前提下&#xff0c;即可以实现很惊艳的效果。本文将元学习引入到In-Context Learning中。 论文PDF…

企业实践开源的动机

文章来源&#xff1a;” 夜天之书 “微信公众号 作者&#xff1a;tison 随着开源软件全面占据软件供应链的各个阶段&#xff0c;商业公司开发基础软件或业务逻辑的时候&#xff0c;已经避不开对软件的使用了。经过一段时间对开源软件的使用&#xff0c;以及开源吞噬软件的趋势…

海量Redis数据库优化,vivo如何实现成本与性能的平衡

概述 随着数字化技术的创新以及时延敏感型应用的持续落地&#xff0c;越来越多的数据需要实现实时或近实时的处理&#xff0c;这推动了 Redis 等内存数据库的广泛应用。此类数据库对于内存容量有着较高的要求&#xff0c;在数据快速增长的背景下&#xff0c;大内存池构建意味着…

分布式监控平台——Zabbix

市场上常用的监控软件&#xff1a; 传统运维&#xff1a;zabbix、 Nagios云原生环境&#xff1a; Prometheus &#xff08;go语言开发的&#xff09; 一 Zabbix概述 作为一个运维&#xff0c;需要会使用监控系统查看服务器状态以及网站流量指标&#xff0c;利用监控系统的数据…

二叉树的遍历-树-数据结构和算法(Java)

1 树的遍历方式 1.1 深度优先 事实上&#xff0c;深度优先搜索属于图算法的一种&#xff0c;英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止&#xff0c;而且每个节点只能访问一次. 那么对于树来说&#xff0c;"深度优先…

使用阿里云国际版负载均衡管理多台服务器上的流量

有效处理多云服务器设置的流量和数据传输负载可能是一个复杂的过程。然而&#xff0c;这是完全必要的&#xff0c;因为业务关键型应用程序需要高度可用的解决方案来管理繁重的工作负载。阿里云服务器负载均衡器(SLB) 简化了工作负载在服务器、网络链路和其他资源之间的分配&…

[附源码]SSM计算机毕业设计闲置物品交易管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

mac系统废纸篓可以恢复么,mac不小心清空了废纸篓怎么找回

在使用Mac电脑的过程中&#xff0c;有可能会出现各种意外&#xff0c;其中误删文件是很常见的一种。如果你不小心删除了废纸篓里还有用的文件&#xff0c;mac系统废纸篓可以恢复么&#xff1f; 一、我不小心删除了重要文件&#xff0c;还清倒了废纸篓 案例分享&#xff1a;mac…

软件测试面试题-一个前后端都能修改的bug,应该由谁修改?

其实这个问题还是问得比较有水平的一道面试题。 有很多人说&#xff0c;要不前端修改吧。那难道后端就不能修改吗&#xff1f; 之后又有人说&#xff0c;要不后端修改吧&#xff0c;那难道前端就不能修改吗&#xff1f; 瞬间求职者一脸懵逼。。。。 这道题该怎么去回答呢&…

在国内CDMP认证认可度如何?

随着数字化转型的深入&#xff0c;中国企业不再唯技术论&#xff0c;开始进行转型的整体思考和创新突破。数据是构成数字化业务重要材料&#xff0c;是企业运营变革和竞争优势塑造的核心动力&#xff0c;是实现数字化转型的坚实基础。越来越多的国内企业认识到数据治理知识在企…

spring复习04,静态代理动态代理,AOP

spring复习04,静态代理动态代理,AOP概念引入java代理模式静态代理静态代理模式的好处:静态代理模式的缺点&#xff1a;动态代理jdk动态代理1. InvocationHandler接口2. Proxy类jdk动态代理代码AOPAOP的概念spirng中aop的实现方式一&#xff1a;spring原生的接口方式二&#xff…

基于树莓派的freeRDP桌面云终端的简单实现

VDI虚拟桌面云系统可以通过RmoteFX, PCoIP,HDX等远程桌面显示协议将服务器端的虚拟操作系统桌面环境在远程云终端上显示出来。商用的VDI系统需要部署服务器端虚拟机管理软件如System Center, XenServer等软件,购买价格不菲的服务器硬件,以及500~1000元之间的云终端接入设备。…

模糊控制算法实例matlab程序

参考文献《智能控制——刘金锟》 以水位的模糊控制为例。如图4一4所示&#xff0c;设有一个水箱&#xff0c;通过调节阀可向内注水和向外抽水。设计一个模糊控制器&#xff0c;通过调节阀门将水位稳定在固定点附近。按照日常的操作经验&#xff0c;可以得到基本的控制规则为&am…

TikTok营销策略 如何打造TikTok爆款视频?

最近&#xff0c;电商商家们总在问&#xff0c;如何打造出TikTok爆款视频&#xff0c;以吸引更多浏览量&#xff0c;刺激TikTok变现。这里不难发现&#xff0c;视频创作也只是一种TikTok营销方式&#xff0c;今天就来说说如何打造TikTok爆款视频。TikTok视频营销策略一——清晰…

模型案例推荐:电力大数据项目案例模型分享

电力行业大数据项目模型 电力高架线路巡检绝缘子缺陷智能检测 涉及关键技术&#xff1a; 语义分割 目标检测 图像增强 图像切分 主要工具&#xff1a;Python 技术大类&#xff1a;计算机视觉 主要业务问题&#xff1a; 随着我国经济的高速发展&#xff0c;国民用电量逐年增…

SpringCloud - Sleuth分布式请求链路跟踪

文章目录一.概述二.zipkin搭建三.Sleuth链路监控实现1. payment8001生产者修改2. Consumer80消费者修改3. 测试一.概述 在微服务框架中&#xff0c;一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果&#xff0c;每一个前段请求都会…

【信息检索与数据挖掘】期末笔记(一)

文章目录什么是信息检索词项-文档矩阵倒排索引构建过程前三步最后一步布尔检索模型布尔查询的处理查询优化如何存储词典哈希表树有序检索模型对基本布尔操作的扩展短语查询和位置索引短语查询第一个解决方案第二个解决方案更快的索引表合并什么是信息检索 信息检索是从大规模非…