Docker-镜像仓库

news2024/12/28 18:31:31

Docker

  • ⛅Docker-Registry
    • 🌠分类
    • 🌠镜像仓库工作机制
    • 🌠常用的镜像仓库
    • 🌠镜像仓库命令
      • ☃️docker login
      • ☃️docker pull
      • ☃️docker push
      • ☃️docker search
      • ☃️docker logout
    • 🌠镜像命令[部分]
      • ☃️docker images
      • ☃️docker image inspect
      • ☃️docker tag
    • 🌠容器命令[部分]
      • ☃️docker run
      • ☃️docker ps

⛅Docker-Registry


镜像仓库 (Docker Registry) 负责存储、管理和分发镜像,并且提供了登录认证能力,建立了仓库的索引

镜像仓库管理多个 Repository, Repository 通过命名来区分。每个 Repository 包含一个或多个镜像,镜像通过镜像名称和标签(Tag)来区分

镜像仓库架构图

在这里插入图片描述

  • 镜像仓库(Registry): 要从哪一个镜像仓库拉取镜像,通常通过 DNS 或 IP 地址来确定一个镜像仓库如hub.docker.com, 一个 Registry 中可以存在多个Repository. Repository 可分为“顶层仓库”和“用户仓库”; 用户仓库名称格式为“用户名/仓库名”. 每个仓库可以包含多个 Tag(标签),每个标签对应一个镜像
  • Repository: 由某特定的 docker 镜像的所有迭代版本组成的镜像仓库
  • 镜像名称: (name) + 标签(tag): 如 nginx:latest
  • 认证能力: 提供用户注册,登录、登出能力
  • 索引: 提供镜像的索引信息,方便检索

🌠分类

  • 根据是否对外开放进行划分
    • 公有仓库: 像阿里云、dockerhub等放到公有网络上, 不用登录就可以下载镜像, 供大家访问使用
    • 私有仓库: 不对外开放,往往位于私有网络, 只有公司内部人员可以使用
  • 根据供应商和面向群体划分
    • sponsor(赞助)registry: 第三方的 registry, 供客户和 docker 社区版使用
    • mirror(镜像)registry: 第三方的 registry, 只允许客户使用, 例如阿里云必须注册才能使用
    • vendor(供应商)registry: 由发布 docker 镜像的供应商提供的 registry, 例如像 Google 和 Redhat 提供了镜像仓库服务
    • private(私有)registry:通过没有防火墙和额外的安全层的私有实体提供的 registry, 仅供内部使用

🌠镜像仓库工作机制


🍂镜像仓库使用流程

  • 通过 docker login 登录仓库
  • Docker pull 拉取需要的镜像
  • 通过 dockerfile 或者 commit 等方式制作完镜像通过 docker push 上传到仓库

🍂实际研发中镜像仓库的使用

Docker Registry 中的镜像通常由开发人员制作, 而后推送至公共私有 Registry 上保存, 供其他人员使用, 例如部署到生产环境

在这里插入图片描述

  • 名词解释
    • 开发环境: 开发人员使用的一套环境
    • 测试环境: 需求开发完成后, 发布到供测试人员进行测试的环境
    • 预发布环境: 版本测试完成后, 发布到和生产类似的环境, 提前模拟生产发布
    • 生产环境: 真正面向客户的环境

🍂镜像仓库的拉取机制

启动容器时, docker daemon 会试图从本地获取相关的镜像

本地镜像不存在时, 将从 Registry 中下载该镜像并保存到本地

🌠常用的镜像仓库

  1. DockerHub
  2. 国内镜像源
    • 网易加速器 → https://hub-mirror.c.163.com
    • 百度 → https://mirror.baidubce.com
    • 中科大 → https://mirrors.ustc.edu.cn/
  3. 私有仓库
    • 常见的私有仓库工具
      • Harbor
      • Nexus
      • Docker registry

🌠镜像仓库命令


commandaliasfunction
docker login登录仓库
docker pulldocker image pull拉取镜像
docker pushdocker image push推送镜像
docker search查找镜像
docker logout登出仓库

☃️docker login


🍂功能

登录到一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

🍂语法

docker login [OPTIONS] [SERVER]
  • OPTIONS
    • -u: 登录的用户名
    • -p: 登录的密码
# 登录 Docker Hub 镜像仓库
docker login -u root -p 123

☃️docker pull


🍂功能

从镜像仓库中拉取或者更新指定镜像

🍂语法

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

🍂别名

docker image pull
  • OPTIONS
    • -a: 拉取所有 tagged 镜像
    • --disable-content-trust: 忽略镜像的校验, 默认开启
# 拉取 nginx:1.23.3 镜像
docker pull nginx:1.23.3

☃️docker push


🍂功能

将本地的镜像上传到镜像仓库, 要先登录到镜像仓库

🍂语法

docker push [OPTIONS] NAME[:TAG]

🍂别名

docker image push
  • OPTIONS
    • -a: 推送所有 tagged 镜像
    • --disable-content-trust: 忽略镜像的校验, 默认开启
# 推送 myapache:v1 镜像
docker push myapache:v1

☃️docker search


🍂功能

从 Docker Hub 查找镜像

🍂语法

docker search [OPTIONS] TERM
  • OPTIONS
    • --no-trunc: 显示完整的镜像描述
    • -f <过滤条件>: 列出收藏数不小于指定值的镜像
# 从 Docker Hub 查找所有镜像名包含 nginx,并且 star 数大于等于 10 的镜像
docker search -f stars=10 nginx

☃️docker logout


🍂功能

登出一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

🍂语法

docker logout [SERVER]
# 登出 Docker Hub 仓库
docker logout

🌠镜像命令[部分]

☃️docker images


🍂功能

列出本地镜像

🍂语法

docker images [OPTIONS] [REPOSITORY[:TAG]]

🍂别名

docker image ls, docker image list
  • OPTIONS
    • -a: 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
    • --digests: 显示镜像的摘要信息
    • -f: 显示满足条件的镜像
    • --forma: 指定返回值的模板文件
    • --no-trunc: 显示完整的镜像信息
    • -q: 只显示镜像 ID
# 列出本地全部镜像
docker images

# 列出本地镜像中 REPOSITORY 为 ubuntu 的镜像列表
docker images ubuntu

☃️docker image inspect


🍂功能

查看镜像详细信息

🍂语法

docker image inspect [OPTIONS] IMAGE [IMAGE...]
# 查看镜像详细信息
docker images inspect nginx:1.23.3

在这里插入图片描述

☃️docker tag


🍂功能

标记本地镜像,将其归入某一仓库

🍂语法

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

🍂别名

docker image tag
# 给 ubuntu:22.04 这个镜像打上一个新的标签 myregistry.com/myubuntu:22.04
docker tag ubuntu:22.04 myregistry.com/myubuntu:22.04

🌠容器命令[部分]

☃️docker run


🍂功能

创建一个新的容器并运行一个命令

🍂语法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

🍂别名

docker container run
  • OPTIONS
    • -d: 后台运行容器, 并返回容器 ID
    • -i: 以交互模式运行容器, 通常与 -t 同时使用
    • -P: 随机端口映射, 容器内部端口随机映射到主机的端口
    • -p: 指定端口映射, 格式为:主机(宿主)端口:容器端口
    • -t: 为容器重新分配一个伪输入终端, 通常与 -i 同时使用
    • --name="nginx-lb": 为容器指定一个名称
    • -h "mars": 指定容器的hostname
    • -e username="ritchie": 设置环境变量
    • --cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行
    • -m:设置容器使用内存最大值
    • --network="bridge": 指定容器的网络连接类型
    • --link=[]: 添加链接到另一个容器
    • --volume , -v: 绑定一个卷
    • --rm: shell 退出的时候自动删除容器
# 使用 docker 镜像 nginx:latest 以后台模式启动一个容器,并将容器命名为 mynginx
docker run --name mynginx  -d nginx:latest

# 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data
docker run run -p 80:80 -v /data:/data -d  nginx:latest

☃️docker ps


🍂功能

列出容器

🍂语法

docker ps [OPTIONS]

🍂别名

docker container ls, docker container list, docker container ps
  • OPTIONS
    • -a: 显示所有的容器,包括未运行的
    • -f: 根据条件过滤显示的内容
    • --format: 指定返回值的模板文件。如json或者table
    • -l: 显示 latest 的容器
    • -n: 列出最近创建的 n 个容器
    • --no-trunc: 不截断输出
    • -h "mars": 指定容器的hostname
    • -q: 静默模式,只显示容器编号
    • -s: 显示总的文件大小
# 显示所有容器
docker ps -a

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1532700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

突破边界:Web3开启数字化社会的新纪元

引言 随着科技的不断进步和数字化社会的发展&#xff0c;Web3正逐渐成为了人们关注的焦点。作为新一代互联网的演进形态&#xff0c;Web3具有突破传统边界、实现去中心化的特点&#xff0c;被认为将开启数字化社会的新纪元。本文将深入探讨Web3的概念、特点、应用场景&#xf…

如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?

如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf? 步骤1 编译安装内核获取源码修改配置编译编译成功后配置重启WSL测试 步骤2 安装bcc安装依赖下载bcc&#xff0c;编译测试 环境: wsl2windows 11 步骤1 编译安装内核 去https://kernel.org/找你想要的版本&#xff0c; …

Spark-Scala语言实战(4)

在之前的文章中&#xff0c;我们学习了如何在scala中定义无参&#xff0c;带参以及匿名函数。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 Spark-Scala语言…

用css滤镜做颜色不同的数据卡片(背景图对于css滤镜的使用)

<template> <div class"xx_modal_maincon"><div class"xx_model_bt">履约起始日至计算日配额及履约情况</div><el-row><el-col :span"6"><div class"xx_modal_mod"><div class"mod…

asp.net在线租车平台

说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于asp.net架构和sql server数据库 功能模块&#xff1a; asp.net在线租车平台 用户功能有首页 行业新闻用户注册车辆查询租车介绍访问后台 后台管理员可以进行用户管理 管…

第七届强网杯-PWN-【simpleinterpreter】

对于一个刚入门的三个月的菜鸡pwn手打算按照难度慢慢复现qwb的题目 先simpleinterpreter吧 simpleinterpreter libc 2.27 逆向 解释器相关用到的陌生函数 法1 方法1参考链接 程序实现了一个 C 语言解释器,可用的关键字如下: char else enum if int return sizeof whi…

NVIDIA 推出地球-2云平台,使用AI超级计算机的模拟技术,预测整个地球的气候变化

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

视频无水印批量下载软件|抖音视频提取工具

视频无水印批量下载软件 在当今社交媒体充斥着大量优质视频内容的时代&#xff0c;很多用户都希望能够轻松下载自己喜爱的视频进行收藏或分享。为了满足用户的需求&#xff0c;我们特别推出了一款专业的视频无水印批量下载软件&#xff0c;让您可以方便快捷地获取喜爱的视频内容…

[C++]20:unorderedset和unorderedmap结构和封装。

unorderedset和unorderedmap结构和封装 一.哈希表&#xff1a;1.直接定址法&#xff1a;2.闭散列的开放定址法&#xff1a;1.基本结构&#xff1a;2.insert3.find4.erase5.补充&#xff1a;6.pair<k,v> k的数据类型&#xff1a; 3.开散列的拉链法/哈希桶&#xff1a;1.基…

Jackson 2.x 系列【3】解析器 JsonParser

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 前言2. 解析原理3. 案例演示3.1 创建 JsonParser3.2 解析3.3 读取3.4 测试 1. 前…

流畅的 Python 第二版(GPT 重译)(三)

第五章&#xff1a;数据类构建器 数据类就像孩子一样。它们作为一个起点是可以的&#xff0c;但要作为一个成熟的对象参与&#xff0c;它们需要承担一些责任。 马丁福勒和肯特贝克 Python 提供了几种构建简单类的方法&#xff0c;这些类只是一组字段&#xff0c;几乎没有额外功…

隐私计算实训营学习一:数据可信流通,从运维信任到技术信任

文章目录 一、数据可信流通二、数据可信流通的技术信任基础三、技术信任开启数据密态时代&#xff0c;保障广域数据可信流通 一、数据可信流通 可信数据流通体系&#xff1a;数据二十条第一次明确提出可信流通&#xff0c;建立数据来源可确认、使用范围可界定、流通过程可追溯…

【数据可视化】Echarts中的其它图表

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 前言2. 绘制散点图2.1 绘制基本散点图2.2 绘制两个序列的散点图2.3 绘制带涟漪特效的散点图 3. 绘制气泡图3.1 绘制标准气泡图3.2 绘制各国人均寿命与GDP气泡图3.3 绘制城市A、城市B、城市C三个城市空气污染指数气…

智慧公园:AI智能分析网关V4城市公园视频智能监管方案

一、背景分析 随着天气渐渐转暖&#xff0c;城市公园的花卉也逐渐盛开&#xff0c;春暖花开时节&#xff0c;前往公园赏花游玩的城市居民也渐渐多起来&#xff0c;因此安全问题也成为相关监管部门的重要管理任务之一。随着科技的不断进步&#xff0c;智能监控技术已经成为现代…

使用paho.mqtt.client实现MQTT Client连接EMQX Broker

目录 概述 1 认识paho.mqtt.client 2 实现MQTT Client 2.1 功能介绍 2.2 paho.mqtt.client库函数介绍 2.3 MQTT Client实现 2.3.1 创建项目 2.3.2 编写MQTT Client代码 2.3.3 Log工具源码 2.4 功能测试代码实现 2.4.1 功能介绍 2.4.2 代码实现 3 测试 3.1 EMQX上创…

回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SAO-LSTM雪消融…

课时70:流程控制_for循环_嵌套循环

2.4.4 嵌套循环 学习目标 这一节&#xff0c;我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 这里的嵌套实践&#xff0c;与选择语句的嵌套实践基本一致&#xff0c;只不过组合的方式发生了一些变化。常见的组合样式如下&#xff1a;for嵌套for语句for …

[STM32] Keil MDK 新建工程编译不通过(warning: #2803-D和Error: L6218E)解决方法备忘

按照野火的PDF教程的第4章&#xff1a;[野火]《RT-Thread 内核实现与应用开发实战—基于STM32》.pdf 新建 Keil MDK 工程&#xff0c;工程设置完成后点击编译按钮&#xff0c;编译不通过&#xff1a; RTE\Device\ARMCM3\startup_ARMCM3.c(75): warning: #2803-D: unrecognize…

nodejs社区垃圾分类管理平台的设计与实现python-flask-django-php

近些年来&#xff0c;随着科技的飞速发展&#xff0c;互联网的普及逐渐延伸到各行各业中&#xff0c;给人们生活带来了十分的便利&#xff0c;社区垃圾分类管理平台利用计算机网络实现信息化管理&#xff0c;使整个社区垃圾分类管理的发展和服务水平有显著提升。 语言&#xf…

Hash类型

2.3.Hash类型 Hash类型&#xff0c;也叫散列&#xff0c;其value是一个无序字典&#xff0c;类似于Java中的HashMap结构。 String结构是将对象序列化为JSON字符串后存储&#xff0c;当需要修改对象某个字段时很不方便&#xff1a; Hash结构可以将对象中的每个字段独立存储&am…