首页 文章 精选 留言 我的

精选列表

搜索[容器配置],共10000篇文章
优秀的个人博客,低调大师

镜像命名的最佳实践 - 每天5分钟玩转 Docker 容器技术(18)

我们已经学会构建自己的镜像了。接下来的问题是如何在多个 Docker Host 上使用镜像。 这里有几种可用的方法: 用相同的 Dockerfile 在其他 host 构建镜像。 将镜像上传到公共 Registry(比如 Docker Hub),Host 直接下载使用。 搭建私有的 Registry 供本地 Host 使用。 第一种方法没什么特别的,前面已经讨论很多了。我们将讨论如何使用公共和私有 Registry 分发镜像。 为镜像命名 无论采用何种方式保存和分发镜像,首先都得给镜像命名。 当我们执行docker build命令时已经为镜像取了个名字,例如前面:docker build -t ubuntu-with-vi 这里的ubuntu-with-vi就是镜像的名字。通过 dock images 可以查看镜像的信息。 这里注意到ubuntu-with-vi对应的是REPOSITORY,而且还有一个叫latest的TAG。 实际上一个特定镜像的名字由两部分组成:repository 和 tag。 [image name] = [repository]:[tag] 如果执行 docker build 时没有指定 tag,会使用默认值 latest。其效果相当于: docker build -t ubuntu-with-vi:latest tag 常用于描述镜像的版本信息,比如 httpd 镜像: 当然 tag 可以是任意字符串,比如 ubuntu 镜像: 小心 latest tag 千万别被 latest tag 给误导了。latest 其实并没有什么特殊的含义。当没指明镜像 tag 时,Docker 会使用默认值 latest,仅此而已。 虽然 Docker Hub 上很多 repository 将 latest 作为最新稳定版本的别名,但这只是一种约定,而不是强制规定。 所以我们在使用镜像时最好还是避免使用 latest,明确指定某个 tag,比如 httpd:2.3,ubuntu:xenial。 tag 使用最佳实践 借鉴软件版本命名方式能够让用户很好地使用镜像。 一个高效的版本命名方案可以让用户清楚地知道当前使用的是哪个镜像,同时还可以保持足够的灵活性。 每个 repository 可以有多个 tag,而多个 tag 可能对应的是同一个镜像。下面通过例子为大家介绍 Docker 社区普遍使用的 tag 方案。 假设我们现在发布了一个镜像 myimage,版本为 v1.9.1。那么我们可以给镜像打上四个 tag:1.9.1、1.9、1 和 latest。 我们可以通过 docker tag 命令方便地给镜像打 tag。 docker tag myimage-v1.9.1 myimage:1 docker tag myimage-v1.9.1 myimage:1.9 docker tag myimage-v1.9.1 myimage:1.9.1 docker tag myimage-v1.9.1 myimage:latest 过了一段时间,我们发布了 v1.9.2。这时可以打上 1.9.2 的 tag,并将 1.9、1 和 latest 从 v1.9.1 移到 v1.9.2。 命令为: docker tag myimage-v1.9.2 myimage:1 docker tag myimage-v1.9.2 myimage:1.9 docker tag myimage-v1.9.2 myimage:1.9.2 docker tag myimage-v1.9.2 myimage:latest 之后,v2.0.0 发布了。这时可以打上 2.0.0、2.0 和 2 的 tag,并将 latest 移到 v2.0.0。 命令为: docker tag myimage-v2.0.0 myimage:2 docker tag myimage-v2.0.0 myimage:2.0 docker tag myimage-v2.0.0 myimage:2.0.0 docker tag myimage-v2.0.0 myimage:latest 这种 tag 方案使镜像的版本很直观,用户在选择非常灵活: myimage:1 始终指向 1 这个分支中最新的镜像。 myimage:1.9 始终指向 1.9.x 中最新的镜像。 myimage:latest 始终指向所有版本中最新的镜像。 如果想使用特定版本,可以选择 myimage:1.9.1、myimage:1.9.2 或 myimage:2.0.0。 Docker Hub 上很多 repository 都采用这种方案,所以大家一定要熟悉。 下一节讨论如何使用使用公共 Registry。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册