Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

news2025/1/18 15:00:18

Docker概念|容器|镜像|命令详细(创建,删除,修改,添加)

  • 一,Docker简介
  • 二,Docker与虚拟机的区别
  • 三,容器核心技术
  • 四,Docker核心概念
  • 五 docker的安装
    • 5.1关闭防火墙,关闭文件防护
    • 5.2 安装依赖包
    • 5.3 设置阿里云镜像源
    • 5.4 安装Docker-CE并设置为开机自动启动
    • 5.5 查看docker信息
    • 5.6查看docker状态
  • 六 Docker镜像操作
    • 6.1 搜索镜像
    • 6.2 获取镜像
    • 6.3 查看镜像
    • 6.3 查看镜像信息
    • 6.4 修改镜像名字和标签
    • 6.5 删除镜像
    • 6.6 镜像导出导入到本地
    • 6.7 批量删除所有镜像
  • 七 Docker容器操作
    • 7.1 容器的创建
    • 7.2 查看容器状态
    • 7.3 启动容器
    • 7.4 停止容器
    • 7.5 创建并启动容器
    • 7.6 修改容器名称
    • 7.7 进入容器
    • 7.8 实现容器和宿主机之前的文件传输
    • 7.9 容器导出和导入
    • 7.10 删除容器
    • 其他命令

一,Docker简介

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源

是在Linux容器里运行应用的开源工具

是一种轻量级的”虚拟机“

Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的,可移植的,自给自足的容器。

在这里插入图片描述

二,Docker与虚拟机的区别

在这里插入图片描述

三,容器核心技术

docker本质就是宿主机的一个进程,docker是通过namespace(命名空间)实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。

四,Docker核心概念

●镜像
Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker容器引擎的只读模板。
通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。
Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。

●容器
Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。
可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

●仓库
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。
Docker的镜像、容器、日志等内容全部都默认存储在/var/lib/docker

五 docker的安装

5.1关闭防火墙,关闭文件防护

 systemctl stop firewalld
 setenforce 0

5.2 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-utils:提供了yum-config-manager 工具。device mapper:
是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。device mapper存储驱动程序需要 device-mapper-persistent-data和 lvm2。

5.3 设置阿里云镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.4 安装Docker-CE并设置为开机自动启动

yum install -y docker-ce docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service
安装好的Docker系统有两个程序,Docker服务端和ocker客户端。其中Docker服务端是一个服务进程,负责管理所有容器。
Docker客户端则扮演着Docker服务端的远程控制器,可以用来控制Docker的服务端进程。大部分情况下Docker服务端和客户端运行在一台机器上。

请添加图片描述

5.5 查看docker信息

docker version

请添加图片描述

5.6查看docker状态

docker info  数量信息,容器信息,镜像信息

请添加图片描述

六 Docker镜像操作

6.1 搜索镜像

  docker  search  关键字

请添加图片描述

6.2 获取镜像

docker  pull  名称

请添加图片描述

6.3 查看镜像

docker images

请添加图片描述

6.3 查看镜像信息

docker insepct  镜像名称或者id

请添加图片描述

6.4 修改镜像名字和标签

docker tag  旧库名:旧标签  新名:新标签

请添加图片描述

6.5 删除镜像

  docker  rmi  库名:标签
  docker  rmi   镜像id号    -f
  注意如果这个镜像在被容器使用,加上-f会把容器也删除

请添加图片描述

6.6 镜像导出导入到本地

先导出镜像
docker  save   -o  自定义文件名 库名:标签
删除镜像
docker  rmi  镜像名:标签
在导入镜像
docker  load   -i   镜像名

docker load < 镜像名

请添加图片描述

6.7 批量删除所有镜像

docker images | awk ‘NR>=2 {print " docker rmi " $3}’ |bash

请添加图片描述

七 Docker容器操作

7.1 容器的创建

新创建的容器默认处于停止状态,不运行任何程序,需要再其中发起一个进程来启动容器
docker create [选项] 镜像

常用选项:
-i:让容器开启标准输入
-t:让Docker分配一个伪终端tty
-it:合起来实现和容器交互的作用,运行一个交互式会话shell

 docker create -it nginx:latest /bin/bash

请添加图片描述

7.2 查看容器状态

 docker  ps  -a

请添加图片描述

7.3 启动容器

docker start 容器id/容器名

请添加图片描述

7.4 停止容器

docker stop 容器id
或
docker kill 容器id

两者区别是  docker stop 想当于给程序发送一个指令,等程序处理完进程后 关闭程序
而 docker kill 是不管三七二十一,直接强制删除

请添加图片描述

7.5 创建并启动容器

可以直接执行 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 -d centos:7 /bin/bash -c "while true; do echo helloworld; done"

请添加图片描述

7.6 修改容器名称

先停止一个容器
docker  stop   容器id
修改容器名称
docker  run  -tid  --name  ck  centos:7 /bin/bash

请添加图片描述

7.7 进入容器

docker  esec  -it  容器名  bash

请添加图片描述

如何创建完容器直接进入容器(一条命令搞定)

 docker run -it centos:7 bash

请添加图片描述

7.8 实现容器和宿主机之前的文件传输

宿主机导入文件到容器

docker cp 文件 容器id号:/容器目录/

容器导出文件到宿主机并改名

docker cp 容器id号:/容器目录/文件   宿主机目录/新文件名

请添加图片描述

7.9 容器导出和导入

docker export 容器id/名称 > 文件名             导出容器
cat 文件名 | docker import - 镜像名称:标签      导入容器 
docker images                               查询导出的容器
#因为导出的是容器,查询用docker ps -a查询不到结果

请添加图片描述

7.10 删除容器

docker rm 容器id/容器名

删除正在运行的容器,需要先停止容器 或者加-f 强制删除

如何一次性删除所有容器
docker ps -a | awk 'NR>=2{print $1}'|xargs docker rm -f

请添加图片描述

其他命令

批量清理后台停止的容器
docker rm $(docker ps -a -q)

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

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

相关文章

2022年 团体程序设计天梯赛——题解集

Hello各位童学大家好&#xff01;&#x1f60a;&#x1f60a;&#xff0c;茫茫题海你我相遇即是缘分呐&#xff0c;或许日复一日的刷题已经让你感到疲惫甚至厌倦了&#xff0c;但是我们真的真的已经达到了我们自身极限了吗&#xff1f;少一点自我感动&#xff0c;没有结果前别太…

大悦城中粮物业:用二维码搭建物业系统,“多快好省”提高管理效率

中粮物业&#xff08;大悦服务&#xff09;隶属于大悦城控股集团股份有限公司&#xff0c;成立于1993年6月&#xff0c;是中国物业管理协会会员单位、广东省物业管理行业协会常务理事单位。 作为连续多年蝉联“中国物业服务百强企业”的头部物业公司&#xff0c;中粮物业自主研…

OMRON Sysmac Studio如何将PDO参数复制到其他轴

Sysmac Studio如何将PDO参数复制到其他轴 实验时间&#xff1a;2023/4/19 实验设备&#xff1a;Sysmac Studio(ver 1.53)、EveryThing搜索工具 实验目的&#xff1a;将轴分配的PDO参数复制到其他轴 一. 实验概述 ​ 当PLC当很多相同的伺服轴时&#xff0c;轴的PDO映射是完全…

ESP32在ESP-IDF框架下使用LVGL(v8.3)

开发环境 VSCodeESP-IDF插件 说明&#xff1a;IDF版本为4.4.4&#xff0c;最新版的5.0.1弃用了些东西&#xff0c;而lvgl_esp32_drivers对5以上的版本未适配&#xff0c;所以不建议使用5以上的版本。 安装&#xff1a;安装教程&#xff0c;建议整体看完在进行安装&#xff0c;以…

解决vue-print-nb打印时多出一页空白,vue-print-nb打印有空白页

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 打印table表格&#xff0c;需要用到vue-print-nb插件&#xff0c;使用该插件可以一键弹窗打印页面 效果如图 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 查了一下&#xff…

斩获“双金”!玻色量子在中国移动第七届创客马拉松大赛脱颖而出

​4月7日&#xff0c;中国移动第七届创客马拉松大赛总决赛在厦门圆满落幕。此次大赛以“能力无界 智算同行”为主题&#xff0c;经过近4000个创新项目的层层选拔&#xff0c;玻色量子凭借“相干量子计算设备”项目脱颖而出&#xff0c;成功摘取“双金”&#xff1a;总决赛全球通…

Qt5.12实战之菜单栏工具栏与状态栏使用

演示效果: 1.widget工程创建 2.ui设计 双击打开下图所示的.ui文件 菜单设计: 添加子菜单 修改QMenu及QAction对象名称为可识别名 具体修改操作如下: QMenu和QAction类似 在QAction列表中修改QAction对象 具体修改方法如下: 为QAction也就是菜单项目添加点击事件处理: 选择信号…

公网远程访问连接Minecraft我的世界服务器 - MCSM控制面板

文章目录 概述1.MCSManager 安装2.内网穿透2.1 安装cpolar内网穿透 3. 访问公网地址4.固定公网地址4.1 保留一个二级子域名4.2 配置固定二级域名4.3 访问固定公网地址 5. 设置节点公网地址6. 固定节点公网地址6.1 保留一个固定tcp地址6.2 配置固定TCP地址 概述 MCSManager 是一…

After Effects 2022(AE 2022)forMac/win图文安装教程

After Effects简称“AE”是Adobe公司推出的一款图形视频处理软件&#xff0c;适用于从事设计和视频特技的机构&#xff0c;包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。属于层类型后期软件。可以帮助您高效且精确地创建无数种引人注目的动态图形和震撼人心…

NPDP认证|B端产品经理是如何做竞品调研的?

做竞品的目的主要是为了对比和测试。 对方比我好的地方我规避&#xff0c;发挥我自己的产品优势&#xff0c;对方差的地方我要切入&#xff0c;把他打败。 通过竞品分析后&#xff0c;企业可以确定我们进入市场的机会&#xff0c;也为后期进行产品测试提供有效的分析依据。 那么…

9.4 数组的指针和指向数组的指针变量-1

9.4 数组的指针和指向数组的指针变量-1 一.指向数组元素的指针变量的定义和赋值二.通过指针引用数组元素1.情况12.情况23.情况34.情况45.情况5注意事项&#xff1a; 情况6&#xff1a;*p 优先级相同&#xff0c;并且都是从右到左的结合性&#xff0c;所以 *(p)情况7&#xff1a…

Maven(四):Maven的使用——java工程与Web工程

Maven&#xff08;四&#xff09;&#xff1a;Maven的使用&#xff08;中&#xff09; 前言一、实验四&#xff1a;创建 Maven 版的 Web 工程1、说明2、操作3、生成的pom.xml4、生成的Web工程的目录结构5、创建 Servlet5.1 在 main 目录下创建 java 目录5.2 在 java 目录下创建…

备受瞩目的南卡OE Pro上线!稳坐国内开放式蓝牙耳机TOP1,舒适音质双在线!

4月10号&#xff0c;国内专业资深声学品牌Nank南卡&#xff0c;将推出2023年度旗舰机——南卡OE Pro不入耳开放式蓝牙耳机&#xff0c;致力打造全新不入耳、不伤耳、安全健康佩戴体验&#xff0c;无论是音质体验还是佩戴舒适度&#xff0c;都完胜同行业不入耳开放式耳机&#x…

Ubuntu系统设置中文

在工作中有时候需要&#xff0c;设置系统编码为中文编码&#xff0c;记录一下配置中文编码的流程 ubuntu所需的安装包&#xff1a;(3条消息) linux中文编码locale资源-CSDN文库 date可以查看是否设置了中文编码 date 没有设置中文编码时是这样的显示格式 将包解压了&#xf…

美颜sdk的性能测试与优化技巧

在移动应用中&#xff0c;美颜功能已成为不可或缺的一部分。美颜sdk作为实现美颜功能的关键技术之一&#xff0c;其性能测试与优化显得尤为重要。本文将介绍美颜sdk的性能测试与优化技巧&#xff0c;希望能给您解答疑惑。 一、性能测试 1、常用性能指标 美颜sdk的性能测试主…

智慧医院微信小程序定制开发功能有哪些

无论是哪个时代&#xff0c;人们对于医疗资源的需求都没有消退过&#xff0c;尤其是随着经济条件的提高&#xff0c;人们也越来越关注健康问题。无论是生病就诊还是定期体检都要用到医疗资源。但是平时到医院好像什么时候都人满为患&#xff0c;排很长时间的队&#xff0c;不仅…

数字乡村振兴智慧农业整体规划建设方案2022(ppt可编辑)

项目建设需求 1、农业遥感应用&#xff1a;土地资源分布情况、农作物种植品类分析、作物种植面积监测及区域规划、农作物长势动态监测、农作物估产、病虫害的监测及预警。2、测土配方施肥系统&#xff1a;可查询到相关土地的土壤信息&#xff0c;如&#xff1a;土壤类型、养分…

【顺序表】

顺序表和链表 顺序表1. 函数声明部分2. 函数的实现部分&#xff08;1&#xff09;初始化&#xff08;2&#xff09;尾插&#xff08;3&#xff09;头插&#xff08;4&#xff09;尾删&#xff08;5&#xff09;头删&#xff08;6&#xff09;在pos位置插入x&#xff08;7&#…

【Python实战】入门级都能学懂的Python爬虫之仅需8行代码一键免费下载音乐,听歌自由真这么简单?

前言 据说互联网上 50%以上的流量都是爬虫创造的&#xff0c;也许你看到很多热门数据都是爬虫所创造的&#xff0c; 所以可以说无爬虫就无互联网的繁荣。 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即…

C语言的深度解析

C语言的深度解析 C语言概述C语言内存管理C语言标准库 C语言概述 C是一种通用的、过程式编程编程语言&#xff0c;支持结构化编程、词法作用域和递归&#xff0c;使用静态类型系统&#xff0c;并且广发用于系统软件与应用软件的开发。 C语言具有高效、灵活、功能丰富、表达力强…