当前位置: 首页 > article >正文

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

在尝试获取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   COMMAND
    1 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 def
   18 root       0:00 /bin/sh
   29 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.kler.cn/news/361568.html

相关文章:

  • MATLAB智能算法 - Immunity Algorithm免疫算法
  • golang正则表达式的使用及举例
  • 11. 盛最多水的容器 - 力扣(LeetCode)
  • N9042B UXA 信号分析仪
  • 量子门电路开销——T门、clifford门、toffoli门、fredkin门
  • HTTP协议讲解
  • python之爬取豆瓣排行与可视化
  • 软件分享丨豆包电脑端 AI 助手
  • MQTTnet 4.3.7.1207 (最新版)使用体验,做成在线客服聊天功能,实现Cefsharp的物联的功能(如远程打开新网址)
  • [linux]快速入门
  • 力扣——环形链表问题
  • 是管理员用户但总是提示需要管理员权限的问题。(win11、win10、win7)
  • 【运维心得】5G你肯定在用,5GC是什么?
  • 在MySQL中使用B+ 树索引如何查找连带表数据
  • Pr 视频效果:视频限制器
  • 2-2(补充) opencv实战进阶系列 最大多边形识别
  • 「JVS更新日志」低代码、智能BI、逻辑引擎10.23功能更新说明
  • linux 离线安装redis
  • MySQL datetime不同长度的影响
  • ElasticSearch的向量存储和搜索
  • Android 系统SELinux
  • Leetcode—91. 解码方法【中等】
  • 华为配置 之 Console线路配置
  • PCB生产制造商强达电路,公布网上申购情况及中签率
  • 威胁狩猎:基于ELK的日志监控
  • 【最新华为OD机试E卷-支持在线评测】生成哈夫曼树(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)