构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容器镜像

devtools/2024/10/20 14:42:12/

在尝试获取etcd的容器的最新版本镜像时,使用latest作为tag取到的并非最新版本,本文尝试用实际最新版本的版本号进行pull,从而取到想的最新版etcd容器镜像。

一、用latest作为tag尝试下载最新etcd的镜像

1、下载镜像
[root@localhost opt]# docker pull quay.io/coreos/etcd:latest
latest: Pulling from coreos/etcd
ff3a5c916c92: Pull complete 
96b0e24539ea: Pull complete 
d1eca4d01894: Pull complete 
ad732d7a61c2: Pull complete 
8bc526247b5c: Pull complete 
5f56944bb51c: Pull complete 
Digest: sha256:5b6691b7225a3f77a5a919a81261bbfb31283804418e187f7116a0a9ef65d21d
Status: Downloaded newer image for quay.io/coreos/etcd:latest
2、查看镜像
[root@localhost opt]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
quay.io/coreos/etcd   latest              61ad63875109        6 years ago         39.5MB

显示镜像创建日期为6年前,太离谱了

3、拉一个容器,查看镜像的具体版本
[root@localhost opt]# docker run -d   -p 2379:2379   -p 2380:2380   --name etcd   quay.io/coreos/etcd  /usr/local/bin/etcd   -advertise-client-urls http://0.0.0.0:2379   -listen-client-urls http://0.0.0.0:2379   -initial-advertise-peer-urls http://0.0.0.0:2380   -listen-peer-urls http://0.0.0.0:2380   -initial-cluster default=http://0.0.0.0:2380                          
7874cc64d5aeec551d805bcbc26965d51d3c291a704411b2b604e2735e7fe7a9
[root@localhost opt]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                              NAMES
7874cc64d5ae        quay.io/coreos/etcd   "/usr/local/bin/etcd…"   5 seconds ago       Up 3 seconds        0.0.0.0:2379-2380->2379-2380/tcp   etcd
[root@localhost opt]# docker exec -it  etcd /bin/sh
/ # 
/ # ps -ef
PID   USER     TIME   COMMAND1 root       0:00 /usr/local/bin/etcd -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http://0.0.0.0:2380 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster def18 root       0:00 /bin/sh29 root       0:00 ps -ef
/ # cd /usr/local/bin/
/usr/local/bin # etcd --version
etcd Version: 3.3.8
Git SHA: 33245c6b5
Go Version: go1.9.7
Go OS/Arch: linux/amd64

可见当前容器内的etcd版本为3.3.8,老的离谱。

二、查找etcd最新的正式版版本

查看etcd官方文档Documentation versions | etcd,可以看到当前最新的稳定版本为3.5.16

三、尝试用 3.5.16为tag拉取最新的etcd容器镜像

1、尝试拉取
[root@localhost opt]# docker pull quay.io/coreos/etcd:v3.5.16
v3.5.16: Pulling from coreos/etcd
804c8aba2cc6: Pull complete 
2ae710cd8bfe: Pull complete 
d462aa345367: Pull complete 
0f8b424aa0b9: Pull complete 
d557676654e5: Pull complete 
c8022d07192e: Pull complete 
d858cbc252ad: Pull complete 
1069fc2daed1: Pull complete 
b40161cd83fc: Pull complete 
5318d93a3a65: Pull complete 
307c1adadb60: Pull complete 
fbb01d9e9dc9: Pull complete 
fbfea02ac3cf: Pull complete 
8c26e4bf18e2: Pull complete 
1e59a65f8816: Pull complete 
ffbd4ca5f0bd: Pull complete 
Digest: sha256:d967d98a12dc220a1a290794711dba7eba04b8ce465e12b02383d1bfbb33e159
Status: Downloaded newer image for quay.io/coreos/etcd:v3.5.16
[root@localhost opt]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
quay.io/coreos/etcd   v3.5.16             8523cb381f23        5 weeks ago         59MB

可以看到镜像文件创建日期为几周前,应该是比较新了。

2、拉起容器检查应用程序版本
[root@localhost opt]# docker run -d   -p 2379:2379   -p 2380:2380   --name etcd   quay.io/coreos/etcd:v3.5.16  /usr/local/bin/etcd   -advertise-client-urls http://0.0.0.0:2379   -listen-client-urls http://0.0.0.0:2379   -initial-advertise-peer-urls http://0.0.0.0:2380   -listen-peer-urls http://0.0.0.0:2380   -initial-cluster default=http://0.0.0.0:2380 
225f0db2c3920b035659878f321f3d3cbda483acf5f11201b96653c48c16a8d5
[root@localhost opt]# docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                              NAMES
225f0db2c392        quay.io/coreos/etcd:v3.5.16   "/usr/local/bin/etcd…"   17 minutes ago      Up 17 minutes       0.0.0.0:2379-2380->2379-2380/tcp   etcd
[root@localhost opt]# docker exec -it  etcd /usr/local/bin/etcd --version
etcd Version: 3.5.16
Git SHA: f20bbad
Go Version: go1.22.7
Go OS/Arch: linux/amd64

可以看到当前程序包版本确为 3.5.16,达到目的。

总结:当pull拉取镜像时,可能由于镜像源维护的问题,导致用lasted作为tag拉到的并不是该容器的最新版,而需要结合实际应用的版本信息,用目标版本作为tag来pull,才能拿到真正想要的新版本。


http://www.ppmy.cn/devtools/127311.html

相关文章

28——循环结构之累加应用(配套练习后续更新~~~~~)

例28.1 统计奖牌 (Standard IO 3167) 时间限制: 1000 ms 空间限制: 262144 KB 具体限制题目:2008年北京奥运会,Y国的运动员参与了n天的决赛项目(1≤n≤20)。现在要统计一下Y国所获得的金、银、铜牌数目及总奖牌数。 输入 输入n+1行&#xf…

springboot030甘肃非物质文化网站的设计与开发(论文+源码)_kaic

毕 业 设 计(论 文) 题目:甘肃非物质文化网站设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本甘肃非物质文化…

Camera系统知识整理

本文是用来记录常用的Camera系统知识相关的文章 -- ing 1 图像格式 视频存储格式YUV420 NV12 NV21 i420 YV12详解 视频存储格式YUV420 NV12 NV21 i420 YV12详解_yuv420sp-CSDN博客 YUV(YCbCr)色彩空间详解 YUV(YCbCr)色彩空间…

学习虚幻C++开发日志——TSet

TSet 官方文档:虚幻引擎中的Set容器 | 虚幻引擎 5.5 文档 | Epic Developer Community (epicgames.com) TSet 是通过对元素求值的可覆盖函数,使用数据值本身作为键,而不是将数据值与独立的键相关联。 默认情况下,TSet 不支持重…

《深度学习》OpenCV EigenFaces算法 人脸识别

目录 一、EigenFaces算法 1、什么是EigenFaces算法 2、原理 3、实现步骤 1)数据预处理 2)特征提取 3)构建模型 4)识别 4、优缺点 1)优点 2)缺点 二、案例实现 1、完整代码 运行结果&#xff…

【星闪开发连载】WS63E模组的速度测试

目录 ​编辑 引言 程序工作原理 客户端 服务器端 测试记录 近距离测试 相邻两个房间之间的测试 相隔一个房间的两个房间之间的测试 结语 引言 今天终于又有点时间了,来测试一下星闪的数据传输速度。前面的博文已经分析了星闪的传输示例sle_uuid_client和…

Redis高可用与分布式方案实战指南

Redis作为一种高性能的内存数据库,在实际应用中常常需要考虑高可用性和分布式架构。本文将详细介绍Redis的高可用解决方案(如Redis Sentinel)和分布式方案(如Redis Cluster),帮助您构建可靠且高效的Redis系…

【CTF刷题9】2024.10.19

[MoeCTF 2021]babyRCE 考点&#xff1a;关键词过滤&#xff08;绕过方法参考往期博客&#xff09; 来源&#xff1a;nssctf <?php$rce $_GET[rce]; if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\|\%|\&g…