Docker 使用镜像[SpringBoot之Docker实战系列] - 第537篇
历史文章(文章累计530+)
《国内最全的Spring Boot系列之一》
《国内最全的Spring Boot系列之二》
《国内最全的Spring Boot系列之三》
《国内最全的Spring Boot系列之四》
《国内最全的Spring Boot系列之五》
《国内最全的Spring Boot系列之六》
《国内最全的Spring Boot系列之七》
《国内最全的Spring Boot系列之八》
Suno V4 API 接入 – 最新的Suno模型,音质很炸裂
Spring Boot实用小技巧11 - 第533篇
Viggle Api上线V3-beta模型,圣诞节跳舞视频来临
Suno Api V4 - Suno Api系列教程,耗费1个星期,输出14篇文章
Viggle AI开放照片唱歌API,新年快乐唱起来
Docker入门篇[SpringBoot之Docker实战系列] - 第534篇
国内最全的Spring Boot系列之八 —— 汇聚8年500多篇文章,值得收藏
Docker 基本概念[SpringBoot之Docker实战系列] - 第536篇
导读
Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。
本节将介绍更多关于镜像的内容,包括:
从仓库获取镜像;
管理本地主机上的镜像;
一、获取镜像指令
Docker Hub上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像。
从 Docker 镜像仓库获取镜像的命令是 docker pull。其命令格式为:
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。
Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是Docker Hub(docker.io)。
仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。对于Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。
二、获取Redis镜像操作
接下来看下docker如何拉取redis最新镜像并运行。
2.1 拉取最新的镜像
要拉取Docker Hub上最新版本的Redis镜像,您可以使用以下命令:
$ docker pull redis:latest
这里的latest标签会自动获取Redis镜像的最新版本。如果您希望指定一个确切的版本号,可以直接使用该版本号替换latest。例如,要拉取Redis版本6.2.6,可以使用:
$ docker pull redis:6.2.6
在拉取镜像后,您可以使用docker images命令来查看所有已下载的Redis镜像:
2.2 查看镜像
在拉取镜像后,您可以使用docker images命令来查看所有已下载的Redis镜像:
$ docker images | grep redis
2.3 运行Redis容器
在Docker中拉取Redis镜像之后,您可以使用以下命令来运行Redis容器:
$ docker run -d --name my-redis -p6379:6379 redis
命令参数解释:
(1)-d:表示以守护进程模式运行容器,即在后台运行。
(2)–name my-redis:指定容器的名字为my-redis。
(3)-p 6379:6379:将容器的6379端口映射到宿主机的6379端口。这样,您就可以通过宿主机的6379端口来访问Redis服务。
(4)redis:指定要运行的镜像名,这里是官方的Redis镜像。
2.4 查看运行容器
运行2.3的命令后,Docker会创建一个Redis容器并启动它。您可以使用以下命令来查看正在运行的容器列表:
$ docker ps
如果您想进入正在运行的Redis容器进行交互,可以使用以下命令:
$ docker exec -it my-redis redis-cli
这个命令会创建一个命令行界面,您可以在这个界面中与Redis服务器进行交互。
如果您需要配置Redis,可以在启动容器时传递环境变量或通过卷(volume)来挂载外部配置文件。例如,使用环境变量设置密码:
$ docker run -d --name my-redis -p6379:6379 -e REDIS_PASSWORD=yourpassword redis
如果您想使用自定义的Redis配置文件,可以将配置文件作为卷挂载到容器中:
$ docker run -d --name my-redis -p 6379:6379 -v /path/to/your/redis.conf:/usr/local/etc/redis/redis.conf redis
2.5停止运行容器
停止运行容器:
$ docker stop [
容器
id]
2.6 删除容器
删除容器:
$ docker rm [
容器
id]
这里和大家梳理一下这个逻辑:
(1)docker中一个重要的角色是Image,镜像。镜像可以理解是没有生命的;
(2)Image使用dokcer来运行,就会产生容器的概念,容器是Image的实体化。一个镜像可以对应多个容器。
(3)如果要删除镜像的话,那么容器和镜像是有依赖关系,所以要先删除容器,才能删除镜像。
三、列出镜像
要想列出已经下载下来的镜像,可以使用 docker image ls 命令。
列表包含了 仓库名、标签、镜像 ID、创建时间 以及 所占用的空间。
3.1 列出部分镜像
不加任何参数的情况下,docker image ls 会列出所有顶层镜像,但是有时候我们只希望列出部分镜像。docker image ls 有好几个参数可以帮助做到这个事情。
根据仓库名列出镜像:docker image ls [仓库名称]
列出特定的某个镜像,也就是说指定仓库名和标签:docker image ls [仓库名称:标签]
三、删除镜像
如果要删除本地的镜像,可以使用 docker image rm 命令,其格式为:
$ docker image rm [选项] <镜像1> [<镜像2> ...]
其中,<镜像> 可以是 镜像短 ID、镜像长 ID、镜像名 或者 镜像摘要。
相关文章:

Docker 使用镜像[SpringBoot之Docker实战系列] - 第537篇
历史文章(文章累计530) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…...

解锁MCP:AI大模型的万能工具箱
摘要:MCP(Model Context Protocol,模型上下文协议)是由Anthropic开源发布的一项技术,旨在作为AI大模型与外部数据和工具之间沟通的“通用语言”。它通过标准化协议,让大模型能够自动调用外部工具完成任务&a…...

Error in beforeDestroy hook: “Error: [ElementForm]unpected width “
使用 element 的 form 时候报错: vue.runtime.esm.js:3065 Error: [ElementForm]unpected width at VueComponent.getLabelWidthIndex (element-ui.common.js:23268:1) at VueComponent.deregisterLabelWidth (element-ui.common.js:23281:1) at Vue…...
vscode包含工程文件路径
在 VSCode 中配置 includePath 以自动识别并包含上层目录及其所有子文件夹,需结合通配符和相对/绝对路径实现。以下是具体操作步骤及原理说明: 1. 使用通配符 ** 递归包含所有子目录 在 c_cpp_properties.json 的 includePath 中,${workspac…...

私有知识库 Coco AI 实战(七):摄入本地 PDF 文件
是否有些本地文件要检索?没问题。我们先对 PDF 类的文件进行处理,其他的文件往后稍。 Coco Server Token 创建一个 token 备用。 PDF_Reader 直接写个 python 程序解析 PDF 内容,上传到 Coco Server 就行了。还记得以前都是直接写入 Coco …...
GitLab 18.0 正式发布,15.0 将不再受技术支持,须升级【二】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
NtfsLookupAttributeByName函数分析之和Scb->AttributeName的关系
第一部分: VOID FindFirstIndexEntry ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PVOID Value, IN OUT PINDEX_CONTEXT IndexContext ) { 。。。。。。 // // Lookup the attribute record from the Scb. // if (!NtfsLookupAt…...
STM32H7系列USART驱动区别解析 stm32h7xx_hal_usart.c与stm32h7xx_ll_usart.c的区别?
在STM32H7系列中,stm32h7xx_hal_usart.c和stm32h7xx_ll_usart.c是ST提供的两种不同层次的USART驱动程序,主要区别在于设计理念、抽象层次和使用场景: 1. HAL库(Hardware Abstraction Layer) 文件:stm32h7x…...
网络原理 | TCP与UDP协议的区别以及回显服务器的实现
目录 TCP与UDP协议的区别 基于 UDP 协议实现回显服务器 UDP Socket 编程常用 Api UDP 服务器 UDP 客户端 基于 TCP 协议实现回显服务器 TCP Socket 编程常用 Api TCP 服务器 TCP 客户端 TCP 服务端常见的 bug 客户端发送数据后,没有响应 服务器仅支持…...
IP动态伪装开关
IP动态伪装开关 在OpenWrt系统中,IP动态伪装(IP Masquerading)是一种网络地址转换(NAT)技术,用于在私有网络和公共网络之间转换IP地址。它通常用于允许多个设备共享单个公共IP地址访问互联网。以下是关于O…...

【Unity3D】将自动生成的脚本包含到C#工程文件中
我们知道,在用C#开发中,通过vs编辑器新建的脚本,会自动包含到vs工程中,而通过外部创建,比如复制别的工程或代码创建的C#脚本不会包含到vs工程。 在我们的日常开发中,通常会自动创建C#脚本,特别…...
解决leetcode第3509题.最大化交错和为K的子序列乘积
3509.最大化交错和为K的子序列乘积 难度:困难 问题描述: 给你一个整数数组nums和两个整数k与limit,你的任务是找到一个非空的子序列,满足以下条件: 它的交错和等于k。 在乘积不超过limit的前提下,最大…...

【Python 深度学习】1D~3D iou计算
一维iou 二维 import numpy as npdef iou_1d(set_a, set_b):# 获得集合A和B的边界 x1, x2 set_ay1, y2 set_b# 计算交集的上下界low max(x1,y1)high - min(x2, y2)# 计算交集if high - low < 0:inter 0else:inter high - low# 计算并集union (x2 -x1) (y2 - y1) - in…...

java23
1.美化界面 添加背景图片 所以我们添加背景图片要放在后面添加 添加图片边框 绝对路径: 相对(模块)路径: 第一个是绝对路径,第二个是相对路径,但是斜杠的方向不对 总结: 2.图片移动 先实现KeyListener接口…...
嵌入式工程师常用软件
1、 Git Git 是公司常用的版本管理工具,人人都要会。在线的 git 教程可以参考菜鸟教程: https://www.runoob.com/git/git-tutorial.html 电子书教程请在搜索栏搜索: git Git 教程很多,常用的命令如下,这些命令可…...

LitCTF2025 WEB
星愿信箱 使用的是python,那么大概率是ssti注入 测试{{5*5}} 发现需要包含文字,那么添加文字 可以看到被waf过滤了,直接抓包查看参数上fenjing 可以看到这里是json格式,其实fenjing也是支持json格式的 https://github.com/Marv…...
Redisson WatchDog会一直续期吗?
取决于加锁的方式。 Lock 方法有2种形式,如果指定了leaseTime (且不为-1), 不会启用watchDog机制. 如果没有指定leaseTime, 则会启动watchDog机制,且会一直续期,除非线程宕调或者续期失败。 p…...

Linux 下VS Code 的使用
这里以创建helloworld 为例。 Step 0:准备工作: Install Visual Studio Code. Install the C extension for VS Code. You can install the C/C extension by searching for c in the Extensions view (CtrlShiftX). Step 1: 创建工作目录 helloworld࿰…...
Android开发namespace奇葩bug
Android开发namespace奇葩bug namespace "com.yibanxxx.yiban"buildFeatures {buildConfig true}namespace 对应你的module的清单下的package...
watchEffect
在处理复杂异步逻辑时,Vue 3 的 watchEffect 相比传统的 watch 具有以下优势: 1. 自动追踪依赖 watchEffect 会自动收集其回调中使用的所有响应式依赖,无需手动指定监听源: import { ref, watchEffect } from vue;const count …...

Qt 布局管理器的层级关系
1、HomeWidget.h头文件: #ifndef HOMEWIDGET_H #define HOMEWIDGET_H#include <QWidget> #include <QPushButton> #include <QVBoxLayout> #include <QHBoxLayout>class HomeWidget : public QWidget {Q_OBJECTpublic:HomeWidget(QWidget …...
Android 之 kotlin 语言学习笔记一
参考官方文档:https://developer.android.google.cn/kotlin/learn?hlzh-cn 1、变量声明 Kotlin 使用两个不同的关键字(即 val 和 var)来声明变量。 val 用于值从不更改的变量。使用 val 声明的变量无法重新赋值。var 用于值可以更改的变量…...

maven模块化开发
使用方法 将项目安装到本地仓库 mvn install 的作用 运行 mvn install 时,Maven 会执行项目的整个构建生命周期(包括 compile、test、package 等阶段),最终将构建的 artifact 安装到本地仓库(默认路径为 ~/.m2/repos…...
为什么要使用stream流
总的来说就是 它支持链式调用,方便 不会修改原始数据源,而是生成一个新的流或结果 中间操作不会立即执行,只有在终端操作触发时才会真正执行 注意事项 无状态操作:Stream 操作应该是无状态的,不要依赖外部变量的状…...
语义分割的image
假设图像的尺寸为 3x3,并且是 RGB 图像(有 3 个通道)。每个通道的像素值范围为 [0, 1],我们将构造一个 batch_size 2 的图像批次。 Image: tensor([[[[0.1347, 0.4583, 0.7102], # 第一张图像的红色通道[0.1774, 0.0328, 0.308…...

云原生安全之网络IP协议:从基础到实践指南
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 IP协议(Internet Protocol)是互联网通信的核心协议族之一,负责在设备间传递数据包。其核心特性包括&…...

C++——QT 文件操作类
QFile 概述 QFile是Qt框架中用于文件操作的类(位于QtCore模块),继承自 QIODevice,提供文件的读写、状态查询和路径管理功能。它与 QTextStream、QDataStream 配合使用,可简化文本和二进制数据的处理,并具备…...
【排错】kylinLinx环境python读json文件报错UTF-8 BOM
kylin Linux环境python读json文件报错UTF-8 BOM 报错描述: windows环境下,python代码读取json文件正常,但是sftp到linux环境下 报错信息: json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column …...

[spring] spring 框架、IOC和AOP思想
目录 传统Javaweb开发的困惑 loC、DI和AOP思想提出 Spring框架的诞生 传统Javaweb开发的困惑 问题一:层与层之间紧密耦合在了一起,接口与具体实现紧密耦合在了一起 解决思路:程序代码中不要手动new对象,第三方根据要求为程序提…...
LInux—shell编程
一、Shell 编程核心特性 解释型语言 无需编译,直接由 bash、sh 等解释器逐行执行。 类似 PHP 的解释执行,不同于 C 的编译型。 系统命令集成 可直接调用 Linux 命令(如 ls、grep、awk),实现系统管理自动化。 与 C/…...