从零开始,Docker进阶之路(三):Docker镜像与命令
一、Docker核心名词
镜像文件、容器、仓库
镜像:简单理解为就是一个安装包,里面包含容器所需要运行的基础文件和配置信息,比如:redis镜像、mysql镜像等。
镜像的来源方式:
1.自己做镜像,比如自己开发微服务项目
2.拉取别人制作好的镜像,例如nginx、mysql、redis等。
容器:容器就是镜像运行的实例,容器状态分为初创建、运行、停止、暂停、删除,一个镜像可以创建多个不同的容器。
每个镜像文件都有自己的独立IP信息----轻量级的Linux服务器 虚拟化
我们可以把镜像看成是类,容器就是实例对象
仓库:仓库可以简单理解为,专门存储镜像文件的地方,类似于安卓手机市场,统一在手机市场下载开发者的安装包。
Docker官方仓库:https://hub.docker.com/ ----访问比较慢
二、Docker容器化项目三步骤

1.制作镜像文件(springboot项目等),类似于开发者开发安装应用程序打包
2.需要将我们制作好的镜像文件提交到docker仓库中,类似于开发者将自己的app应用程序发布到安卓手机助手中。
3.本地拉取我们docker仓库中的镜像文件,再交给我们容器运行,类似于用户从app市场中下载安装包运行。
三、Docker下载镜像原理
Docker pull 从远程docker官方仓库下载镜像,到本地,再使用容器运行该镜像。
注意的是:docker官方镜像仓库地址部署在国外,下载镜像比较慢,建议配置国内加速镜像。

四、Docker加载镜像配置
https://hub.docker.com/search?q=redis&type=image ---在国外访问可能比较慢
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
五、阿里云加速镜像配置
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了

命令按行输入:
cat /etc/docker/daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://自己的阿里云镜像.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
-  cat /etc/docker/daemon.json- cat是一个用于查看文件内容的命令。
- /etc/docker/daemon.json是 Docker 守护进程的配置文件。
- 这行命令的作用是查看当前 Docker 守护进程的配置。
 
-  sudo mkdir -p /etc/docker- sudo以超级用户权限执行命令。
- mkdir是用来创建目录的命令。
- -p参数表示如果父目录不存在,则创建它。
- /etc/docker是 Docker 配置文件的目录。
- 这行命令的作用是确保 /etc/docker目录存在,如果不存在,则创建它。
 
-  sudo tee /etc/docker/daemon.json <<-'EOF'- tee命令用于读取标准输入(stdin)的数据,并将其同时写入标准输出(stdout)和一个或多个文件。
- /etc/docker/daemon.json是 Docker 守护进程的配置文件。
- <<-'EOF'开始一个 Here 文档,允许你输入多行文本,直到你输入- EOF标记。
- 这行命令和接下来的几行文本块将配置信息写入到 Docker 守护进程的配置文件中。
 
-  {- 这是 JSON 对象的开始标记。
 
-  "registry-mirrors": ["https://XXXX.mirror.aliyuncs.com"]- 这是 Docker 配置的一部分,指定了 Docker 镜像加速器,这通常用于加速 Docker 镜像的下载速度。
 
-  }- 这是 JSON 对象的结束标记。
 
-  EOF- 标记 Here 文档的结束,告诉 tee命令停止读取输入。
 
- 标记 Here 文档的结束,告诉 
-  sudo systemctl daemon-reload- systemctl是管理 systemd 系统和服务的管理工具。
- daemon-reload命令告诉 systemd 重新加载所有服务单元。
- 这行命令的作用是确保新的配置文件被 systemd 识别。
 
-  sudo systemctl restart docker- restart命令用于重启一个服务。
- docker是 Docker 服务的名称。
- 这行命令的作用是重启 Docker 服务,以使新的配置生效。
 


查看镜像是否安装成功:
输入命令
docker info 找到自己的镜像地址已显示,说明安装成功
六、Docker常用命令
1.docker --help 帮助命令
2.docker --version 查看版本信息
3.docker images 查看本地images镜像文件
docker rmi -f kibana:5.6.9
- rmi用于删除一个或多个docker镜像
- -f 表示强制删除,即使有容器正在使用此镜像,也会被强制删除。
- kibana:5.6.9 指定了要删除的docker镜像的名称和标签。kibana是镜像名,5.6.9是标签。

- REPOSITORY 存储库名称
- Tag 镜像的标签 不写版本号码 默认下载最新latest镜像
- IMAGE ID 镜像id
- CREATED 创建时间
- SIZE 大小
docker images -a 列出本地所有可列出的docker镜像
docker images -q 只列出本地所有可列出镜像的ID
docker images --digests 显示镜像的摘要信息
docker images --no-trunc 显示镜像完整信息
docker image prune -a 删除未被使用的镜像
docker image prune -a --filter "until=168h" 清理特定时间前的镜像
4. 容器管理
创建容器
docker create:创建一个新的容器但不起动它
docker run:创建新的容器并启动它。 -d 后台运行, -i 交互模式(保持容器一直运行), -t 分配伪终端等
docker run --name 容器名称 -p宿主机的端口号:容器内的端口号 -d 镜像名称:标签
docker run --name boyatop-tomcat -p 8081:8080 -d  tomcat:8
//每次运行都会创建一个新的容器启动和停止容器
docker start:启动一个或多个已经停止的容器
docker stop:停止一个或多个正在运行的容器
docker restart:重启一个或多个容器
查看容器
docker ps:列出正在运行的容器
docker ps -a:列出所有容器,包括停止的容器。
docker inspect:查看容器的详细信息,如元数据、配置等
进入容器
docker exec:在正在运行的容器中执行命令。通常与-it选项一起使用,以交互模式运行命令
docker attach:附加到正在运行的容器的标准输入、输出和错误流。
#首先使用下面的命令,查看容器ID(CONTAINER ID)
docker ps -a
#然后用下面的命令进入容器,就可以使用bash命令浏览容器里的文件:
docker exec it [CONTAINER ID] bash
#有的镜像没有bash命令,可以用对应的she11,比如sh
docker exec it [CONTAINER ID]sh删除容器
docker rm:删除一个或多个容器。注意:只能删除不在运行状态的容器。如果要删除运行中的容器,需要使用-f选项强制删除。
查看容器日志
docker logs:获取容器的日志输出。可以添加-f选项以持续打印日志。
容器与主机之间的操作
docker cp:用于在容器和主机之间复制文件或目录
5.其他操作
docker  rename: 重命名一个容器。
 docker  top: 查看容器中运行的进程。
 docker  stats: 实时显示容器资源使用情况,如CPU、内存、网络I/0、磁盘I/O等
 docker  system df:查看Docker镜像、容器和数据卷所占用的磁盘空间
相关文章:
 
从零开始,Docker进阶之路(三):Docker镜像与命令
一、Docker核心名词 镜像文件、容器、仓库 镜像:简单理解为就是一个安装包,里面包含容器所需要运行的基础文件和配置信息,比如:redis镜像、mysql镜像等。 镜像的来源方式: 1.自己做镜像,比如自己开发微服…...
 
【计算机网络】网络层详解
文章目录 一、引言二、IP 基础知识1、IP 地址2、路由3、IP报文4、IP报文的分片与重组 三、IP 属于面向无连接型四、IP协议相关技术1、DNS2、ICMP3、NAT技术4、DHCP 一、引言 TCP/IP的心脏是网络层。这一层主要由 IP 和 ICMP 两个协议组成。网络层的主要作用是“实现终端节点之…...
后端开发刷题 | 最小的K个数(优先队列)
描述 给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。 数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000 要…...
 
【JavaEE】——阻塞队列,生产消费者模型(较难)
阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:阻塞队列 1:概念 2:阻塞队列与普通队列比较 二:“生…...
 
makefile和CMakeLists/C++包管理器
make 大家可能会很奇怪,都什么年代了,还学makefile,cmake都有些过时了,为什么还要再学这个呢? 我是这么看待这个问题的,cmake跨平台性还是很有有优势的,有着多年积累的底蕴,借助大模…...
 
STM32 通过软件模拟 I2C 驱动 24Cxx 系列存储器
目录 一、AT24CXXX 系列存储器介绍1、基本信息2、寻址方式3、页地址与页内单元地址4、I2C 地址5、AT24CXX 的数据读写5.1 写操作5.1.1 按字节写5.1.2 按页写 5.2 读操作5.2.1 当前地址读取5.2.2 随机地址读取5.2.3 顺序读取 二、代码实现1、ctl_i2c2、at24c3、测试程序 I2C 相关…...
 
Go语言匿名字段使用与注意事项
1. 定义 Go语言支持一种特殊的字段只需要提供类型而不需要写字段名的字段,称之为匿名字段或者嵌套字段。 所谓匿名字段实际上是一种结构体嵌套的方式,所以也可以称作嵌套字段。 这种方式可以实现组合复用,即通过匿名字段,结构体…...
2024最新!!Java后端面试题(2)看这一篇就够了
hello uu们 感谢收看!!!!我最近听了一首歌《21》,真的很感慨,马上步入20的我也感觉时间真的飞快...望大家都能过上理想的生活,不负内心的所托...现在口语化更新答案,让大家更加模拟的…...
 
超好用的10款视频剪辑软件,从入门到精通
视频剪辑软件哪款比较好呢?无论是专业制作团队、自媒体创作者,还是家庭用户,一款好用的视频剪辑软件都能极大地提升创作效率和作品质量。以下是十款备受推崇的视频剪辑软件,分别从适用人群、易用程度和功能特点进行介绍。 1.影忆…...
python股票因子,交易所服务器宕机,量化交易程序怎么应对
炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…...
 
瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法
本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板,搭载了瑞芯微RK3566芯片,类树莓派设计,是Laval官方社区主荐的一款鸿蒙开发主板。 一、安装输入法并查看输入…...
使用nest+typeorm框架写数据库导致mysql的binlog暴增记录
这 两天用nesttypeorm写了一个商城,上线后mysql日志binlog两天就达到了10几个G,排查结果如下: 有个功能是定时遍历所有未签收的订单,看看是否到了自动签收时间,如果到了,就把订单状态设置成已签收。 代码…...
 
组合逻辑元件与时序逻辑元件
组合逻辑元件和时序逻辑元件都是数字电路中的基本构建块,但它们在功能和结构上存在显著差异。 1. 组合逻辑元件: 内容: 组合逻辑元件的输出仅取决于当前的输入,而与之前的输入无关。 它们没有记忆功能。 常见的组合逻辑元件包括: 与门 (AND…...
 
天龙八部怀旧单机微改人面桃花+安装教程+GM工具+虚拟机一键端
今天给大家带来一款单机游戏的架设:天龙八部怀旧单机微改人面桃花。 另外:本人承接各种游戏架设(单机联网) 本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。 教程是本人亲自搭建成功的…...
docker管理
拉取容器镜像 docker pull 镜像名:镜像版本查看镜像 docker images查看容器列表 # 查看正在运行的容器 docker ps # 查看全部的容器(包括停止的容器) docker ps -a进入容器 docker exec -it 容器id /bin/bash停止容器 docker stop 容器id运行容器 docker start 容器id删除…...
 
electron教程(三)窗口设置
在main.js文件中,创建窗口时会设置窗口的大小,其实还有很多其他属性,可以根据实际需求选择设置,但部分属性存在局限性,官网也有明确告知:自定义窗口 | Electron (electronjs.org) 项目文件目录如下&#x…...
 
图像增强论文精读笔记-Deep Retinex Decomposition for Low-Light Enhancement(Retinex-Net)
1. 论文基本信息 论文标题:Deep Retinex Decomposition for Low-Light Enhancement 作者:Chen Wei等 发表时间和期刊:2018;BMVC 论文链接:https://arxiv.org/abs/1808.04560 2. 研究背景和动机 低光照条件下拍摄的…...
 
2024年配置YOLOX运行环境+windows+pycharm24.0.1+GPU
1.配置时间2024/9/25 2.Anaconda-python版本3.7,yolox版本0.2.0 YOLOX网址: https://github.com/Megvii-BaseDetection/YOLOX 本人下载的这个版本 1.创建虚拟环境 conda create -n yolox37 python37 激活 conda activate yolox37 2.安装Pytorch cuda等&…...
 
vue-i18n在使用$t时提示类型错误
1. 问题描述 Vue3项目中,使用vue-i18n,在模版中使用$t时,页面可以正常渲染,但是类型报错。 相关依赖版本如下: "dependencies": {"vue": "^3.4.29","vue-i18n": "^9.1…...
大厂面试真题-什么是CAS单点登录?什么原理
CAS(Central Authentication Service,中央认证服务)单点登录(SSO,Single Sign-On)的原理主要基于统一的认证机制和票据验证过程,使得用户只需在多个相互信任的应用系统中登录一次,即…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
 
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
 
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
 
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
 
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
