Docker 镜像仓库常见命令

news2024/11/24 14:47:46

Docker Registry (镜像仓库) 常用命令

docker login

  • 功能:登录到一个 Docker 镜像仓库,如果没有指定镜像仓库的地址,默认就是官方的 Docker Hub 仓库。

  • 语法:

    docker login [options] [server]
    
  • 选项:

    • -u:登录的用户名。
    • -p:登录用户的密码。
  • 演示:img

建议带选项的时候,不要带 -p 选项,会被别人偷偷看到哦!

可以看到,登录成功之后,就会在 /rooot/.docker/config.json 中保存你的登录信息:

img

这个 config.json 文件中的这个地址就是你登录的镜像仓库的地址,我们可以尝试使用这个地址来登录一下:

img

可以看到也是可以成功登录的哈!我们登录镜像仓库有啥用呢?在我们没有登录镜像仓库的时候是可以拉取公共的镜像的,但是不能拉取私有的镜像!只有登录了,才能拉取自己私有的镜像。

如下图是我在 Docker Hub 官网上的一个私有镜像仓库:

img

如下图:我使用 docker logout 命令退出登录之后,用 docker pull 命令拉取这个镜像是会报错的!

img

如下图:在我登录我的账号之后,才能成功拉取我的私有镜像仓库中的镜像:

img

docker logout

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

  • 语法:

    docker logout [SERVER]
    

这个功能,上面就已经演示过了,这里就不再演示啦!

docker pull

  • 功能:从镜像仓库中拉取或者更新指定镜像。

  • 语法:

    docker pull [options] NAME[:TAG | @DIGEST]
    
  • 别名:

    docker image pull # docker 对命令进行了分类,这个 pull 命令是属于镜像的命令,所以有个 image 省略也没有关系哈
    
  • 选项:

    • -a:拉取所有 tagged 镜像。
    • –disable-content-trust:忽略镜像的校验,默认开启。加上这个选项 Docker 会检查镜像的完整性以确保其没有被篡改或损坏。
  • 演示1:

    如下图:我的 my-busybox 这个镜像仓库里面有很多不同 Tag 的镜像,我可以使用 docker pull -a 全部将其拉取下来。

img

如下图:在没有拉取之前,我的本地只有 centos 这一个镜像,在拉取之后,一下子多了好多好多镜像:

img

  • 演示2:

我们拉取一个 nginx 的镜像,然后启动这个镜像,看到 nginx 的首页:

如下图:我们在 Docker Hub 的官网搜索 nginx 然后点击你想要下载的版本,当然你可以使用 NAME:Tag 的方式拉取,这一次我们使用 NAMRE@DIGEST 的方式拉取哈!不过平时用得最多的还是 NAME:Tag 的方式哈!这个 DIGEST 值在哪里呢,当你点进去一个具体的版本就可以看到啦:

img

现在我们使用 docker 命令来拉取:

docker pull nginx@sha256:b72dad1d013c5e4c4fb817f884aa163287bf147482562f12c56368ca1c2a3705

img

下面我们执行 docker 命令来运行我们拉取到的 nginx 镜像:

docker run -p 80:80 nginx:1.25.4 # 如果你拉取的 nginx 版本和我的不一样,你需要修改一下版本哦!

img

运行起来之后,我们就可以在浏览器访问啦!前提是你的 80 端口没有被云服务器本身(宿主机)占用,并且你的云服务器是放行了 80 端口的!

img

可以看到,我们就使用 docker 成功地搭建了一个 nginx 服务器啦!

docker push

  • 功能:将本地的镜像上传到镜像仓库,前提是要登录到镜像仓库哦!

  • 语法:

    docker push [OPTIONS] NAME[:TAG]
    
  • 参数:

    • -a:推送所有的 Tag 镜像。
    • –disable-content-trust:忽略镜像的校验,默认开启。
  • 演示:

    如下图:我的私有镜像仓库 my-busybox 里面是没有任何的镜像的。

    img

​ 如下图:我们在登录之后,直接 dpcker push -a 将所有的 my-busybox 镜像给推送到镜像仓库。 img

如下图:我们可以看到成功将所有的 my-busybox 镜像推送到了我的仓库,我们在推送的过程,发现有 Layer already exists 这样的提示,这是什么意思呢?其实啊,在 Docker Hub 的官网中,完全相同的镜像是共享的,也就是说完全相同的镜像在 Docker Hub 中只会保存一份!还记得我们在学习 HTTPS 协议中提到的网盘的极速上传的例子嘛,这里也有体现哦!!!!

img

docker research

  • 功能:从 Docker Hub 中查找镜像。

  • 语法:

    docker search [options] TERM
    
  • 参数:

    • –no-trunc :显示完整的镜像描述。
    • -f<过滤条件>:例如:-f stars=10 列出 stars 数不小于 10 的镜像。
  • 演示:

    如下图:我们在 DOcker Hub 上搜索 nginx 这个镜像,筛选条件是 stars >= 100,然后是截断描述信息的。因为不截断,看起来很不友好,这里就不展示啦!

    img

可以看到,我们通过 docker search 搜索到的镜像,是没有 Tags,没有 DIGEST 的,是没有办法直接拉取镜像到本地的!一般情况下,我们还是区官网查找镜像,而不是通过 docker search 来查找镜像。

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

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

相关文章

Missing artifact org.opencv:opencv:jar:4.10.0 [opencv-4.10.0.jar]

Missing artifact org.opencv:opencv:jar:4.10.0 [opencv-4.10.0.jar] https://mvnrepository.com/artifact/org.opencv/opencv 根本就没有 找了个旧项目的opencv-410.jar修改下opencv-4.10.0.jar放到目录下面就好了 D:\localRepository\org\opencv\opencv\4.10.0 OpenCV-C…

Failed to delete XXXX.jar

Failed to delete XXXX.jar 问题&#xff1a;idea控制台报Failed to clean project:Failed to delete idea中点击maven->对应pom->lifecycle->clean时&#xff0c;报错 原因&#xff1a;target文件可能时编译的文件被其他程序占用&#xff0c;导致资源无法回收 解…

u盘为什么一插上电脑就蓝屏,u盘一插电脑就蓝屏

u盘之前还好好的&#xff0c;可以传输文件&#xff0c;使用正常&#xff0c;但是最近使用时却出现问题了。只要将u盘一插入电脑&#xff0c;电脑就显示蓝屏。u盘为什么一插上电脑就蓝屏呢?一般&#xff0c;导致的原因有以下几种。一&#xff0c;主板的SATA或IDE控制器驱动损坏…

农业现代化:UWB模块为农业领域带来的效益和便利

随着科技的进步和农业现代化的推进&#xff0c;超宽带&#xff08;UWB&#xff09;技术正逐渐在农业领域发挥重要作用。UWB模块作为UWB技术的核心组成部分&#xff0c;具有高精度、实时性强的特点&#xff0c;为农业生产提供了新的技术手段和解决方案。本文将探讨UWB模块在农业…

WSL访问adb usb device

1.Windows上用PowerShell运行&#xff1a; winget install --interactive --exact dorssel.usbipd-win 2.在WSLUbuntu上终端运行&#xff1a; sudo apt install linux-tools-generic hwdata sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-too…

最优算法100例之44-不用加减乘除做加法

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 不用加减乘除做加法 题解报告 最优解法:使用异或 1)异或是查看两个数哪些二进制位只有一个为1,这些是非进位位,可以直接…

界面控件DevExpress WinForms/WPF v23.2 - 富文本编辑器支持内容控件

众所周知内容控件是交互式UI元素(文本字段、下拉列表、日期选择器)&#xff0c;用于在屏幕上输入和管理信息。内容控件通常在模板/表单中使用&#xff0c;以标准化文档格式和简化数据输入。DevExpress文字处理产品库&#xff08;Word Processing Document API、WinForm和WPF富文…

(文章复现)考虑网络动态重构的分布式电源选址定容优化方法

参考文献&#xff1a; [1]朱俊澎,顾伟,张韩旦,等.考虑网络动态重构的分布式电源选址定容优化方法[J].电力系统自动化,2018,42(05):111-119. 1.摘要 以投资周期经济收益最高为目标&#xff0c;基于二阶锥规划提出了一种考虑网络动态重构的分布式电源选址定容优化方法。首先&am…

【Proteus仿真】按键控制LED流水灯定时器时钟

0~65535 每隔1us计数加1 总共定时时间65535us 64535离计数器溢出差值1000&#xff0c;所以计时时间为1ms #include <REGX51.H> void inittimer0() {TMOD0x01;//0000 0001TF00;//SCON可位寻址&#xff0c;TF1产生中断TR01;//定时器启动TL064535%256;//定时1msTH064536/256…

OSPF的P2P和Broadcast

OSPF为什么会有P2P和BROADCAST两种类型 OSPF&#xff08;开放最短路径优先&#xff09;协议中存在P2P&#xff08;点对点&#xff09;和BROADCAST&#xff08;广播多路访问&#xff09;两种网络类型&#xff0c;主要是为了适应不同类型的网络环境和需求。具体分析如下&#xf…

云原生(八)、Kubernetes基础(一)

K8S 基础 # 获取登录令牌 kubectl create token admin --namespace kubernetes-dashboard1、 NameSpace Kubernetes 启动时会创建四个初始名字空间 default:Kubernetes 包含这个名字空间&#xff0c;以便于你无需创建新的名字空间即可开始使用新集群。 kube-node-lease: 该…

飞书API(3):Python 自动读取多维表所有分页数据的三种方法

上一小节介绍了怎么使用 Python 读取多维表的数据&#xff0c;看似可以成功获取到了所有的数据&#xff0c;但是在实际生产使用过程中&#xff0c;我们会发现&#xff0c;上一小节的代码并不能获取到所有的多维表数据&#xff0c;它只能获取一页&#xff0c;默认是第一页。因为…

算法打卡day33

今日任务&#xff1a; 1&#xff09;509. 斐波那契数 2&#xff09;70. 爬楼梯 3&#xff09;746.使用最小花费爬楼梯 509. 斐波那契数 题目链接&#xff1a;509. 斐波那契数 - 力扣&#xff08;LeetCode&#xff09; 斐波那契数&#xff0c;通常用 F(n) 表示&#xff0c;形成…

分布式技术---------------消息队列中间件之 Kafka

目录 一、Kafka 概述 1.1为什么需要消息队列&#xff08;MQ&#xff09; 1.2使用消息队列的好处 1.2.1解耦 1.2.2可恢复性 1.2.3缓冲 1.2.4灵活性 & 峰值处理能力 1.2.5异步通信 1.3消息队列的两种模式 1.3.1点对点模式&#xff08;一对一&#xff0c;消费者主动…

CMake构建OpenCv并导入QT项目过程中出现的问题汇总

前言 再此之前请确保你的环境变量是否配置&#xff0c;这是总共需要配置的环境变量 E:\cmake\bin E:\OpenCv\opencv\build\x64\vc15\bin F:\Qt\Tools\mingw730_64\bin F:\Qt\5.12.4\mingw73_64\bin 问题一&#xff1a; CMake Error: CMake was unable to find a build program…

【网络】服务器间FTP传输文件被限速问题的排查(未达最优解)

服务器间FTP传输文件被限速问题的排查 问题描述具体问题软硬件环境文件传输方式的2种策略FTP相关信息问题表现问题解决结论 发散探讨——基于此问题进行发散研究相关知识从FileZilla软件入手从Windows入手从Linux入手从协议入手Windows和Linux的文件共享&#xff0c;分别是使用…

Spring Boot REST API - 项目实现

Spring Boot REST API - 项目实现 书接上文 Spring Boot REST API - CRUD 操作&#xff0c;一些和数据库相关联的注解在 [spring] spring jpa - hibernate CRUD 主要的 layer 如下&#xff1a; #mermaid-svg-4XoU1vfE9GEVVJpw {font-family:"trebuchet ms",verdana…

CSS3 平面 2D 变换+CSS3 过渡

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 ✍一、CSS3 平面 2D 变换&#x1f48e;1 坐标轴&#x1f48e;2 transform 语法…

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控

单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控 单细胞RNA测序(scRNA-seq)基础知识可查看以下文章: 单细胞RNA测序(scRNA-seq)工作流程入门 单细胞RNA测序(scRNA-seq)细胞分离与扩增 1. 单细胞RNA-seq样本数据说明 样本数据来源文章:Acquired cancer re…

春招冲刺百题计划|矩阵

Java基础复习 Java数组的声明与初始化Java ArrayListJava HashMap 第一题&#xff1a;螺旋矩阵&#xff08;多复习&#xff0c;谨记这不是子问题&#xff0c;而是走到不能再走才结束这个方向&#xff09; class Solution {public List<Integer> spiralOrder(int[][] ma…