Docker 镜像仓库常见命令

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.mzph.cn/web/454.shtml

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

相关文章

字母加密(C语言)

一、题目&#xff1b; 为使电文保密&#xff0c;往往按一定规律将其转换成密码&#xff0c;收报人再按约定的规律将其译回原文。例如&#xff0c;可以按以下规律将电文变成密码&#xff1a;将字母A变成字母E&#xff0c;a变成e&#xff0c;即变成其后的第4个字母&#xff0c;W…

[源码分享]基于Unity的Live2D虚拟人物——结合了GPT、Azure、情绪识别和口型同步,也可以集合苹果Vision Pro做成3D的形象

# 技术文档 ## 1 项目简介 ### 项目目录 ``` Assets ├─ Animator // 动画 ├─ Code // 代码 │ ├─ AI // AI 模块 │ │ ├─ LM // 语言模型模块 │…

基于Springboot+Vue的Java项目-网上购物商城系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

数仓建模—数据仓库初识

数仓建模—数据仓库初识 数据仓库之父Bill Inmon在1991年出版的"Building the Data Warehouse"一书中所提出的定义被广泛接受 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的&#xff08;Subject Oriented&#xff09;、集成的&#xff08;Integ…

hv第一坑:定时器

错误代码 重试策略&#xff1a;一次延迟1s,最长30s直至事件成功。 int try_count 0;//do something if(not success)m_loop->setTimerInLoop((try_count > 30 ? 30: try_count) *1000 , cb, INFINITE, 0x100);表现现象 cpu 爆了内存爆了 总结原因 hv内部代码bug&…

C++异步回调示例:多线程执行任务,主线程通过回调监测任务状态

1、回调函数 回调函数定义&#xff1a;把函数的指针或者地址作为参数传递给另一个参数&#xff0c;当这个指针被用来调用其所指向的函数时&#xff0c;那么这就是一个回调的过程&#xff0c;这个被回调的函数就是回调函数。回调函数不是由该函数的实现方直接调用&#xff0c;而…

Ubuntu20.04 ISAAC SIM仿真下载使用流程(4.16笔记补充)

机器&#xff1a;华硕天选X2024 显卡&#xff1a;4060Ti ubuntu20.04 安装显卡驱动版本&#xff1a;525.85.05 参考&#xff1a; What Is Isaac Sim? — Omniverse IsaacSim latest documentationIsaac sim Cache 2023.2.3 did not work_isaac cache stopped-CSDN博客 Is…

相机1:如何系相机肩带

开始解锁新领域&#xff0c;多看几个相关视频&#xff0c;大概也就可以掌握一两种系相机肩带的方法&#xff0c;本质就是新知识的学习过程&#xff0c;不可能等着或者期待出来一个完整的教程&#xff0c;一步一步自己去探索&#xff0c;自己去查资料。 目录 总述 第一步&#…

chrome 浏览器 f12 如何查看 websocket 消息?

1. 打开目标页面 2. f12--》网络--》WS&#xff0c;然后刷新页面( 如果不刷页面&#xff0c;就会看不到 websocket 请求&#xff0c;因为 websocket 是长连接&#xff0c;页面加载后只发出一次连接请求&#xff0c;不像 http 接口&#xff0c;不用刷新页面&#xff0c;待会儿也…

STM32F103 hal库 移植 freeRTos+LVGL

先配置freeRTOS 配置时钟 选用外部晶振 这里选用其他定时器&#xff0c;至于为什么我也不是很懂&#xff0c;好像说是跟稳定 配置FREERTOS 其他配置看着办 移植LVGL 先去gitee下载源码 选择一个版本 开始移植 1、添加lvgl源码到工程文件中 把lvgl-8.0.2\src文件夹直接复制…

SpringBoot(一)【入门】

前言 1、SpringBoot 快速入门 1.1、SpringBoot 简介 SpringBoot 是用来简化 Spring 应用的初始搭建以及开发过程 首先我们回顾一下 SpringMVC 项目的开发过程&#xff1a; 导入依赖&#xff08;javax.servlet-api 和 spring-webmvc&#xff09;Servlet 容器配置类&#xff…

227基于matlab的作业调度问题

基于matlab的作业调度问题。采用遗传算法&#xff0c;解决作业调度问题。一共三个作业&#xff0c;每个作业有不同的时间长度和紧急程度&#xff0c;超过时间会有惩罚措施。通过遗传算法计算出最好的作业安排&#xff0c;使得惩罚最小&#xff0c;获益最大。最终结果通过GUI用甘…

Maven 项目 JDK 8、JDK 17 多版本 Java 编译依赖最佳实践

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

ubuntu下交叉编译ffmpeg到目标架构为aarch架构的系统

Ubuntu下FFmpeg的aarch64-linux-gnu架构交叉编译教程 一、前言 有时候真的很想报警的&#xff0c;嵌入式算法部署花了好多时间了&#xff0c;RKNN 1808真是问题不少&#xff1b;甲方那边也是老是提新要求&#xff0c;真是受不了。 由于做目标检测&#xff0c;在C代码中有对视…

Kingbase(人大金仓数据库)(总结全网精华,虚拟机:从安装到操作数据库一条龙)

前言&#xff1a; 前一阵子一直在捣鼓人大金仓数据库&#xff0c;虽然国产化的数据库很值得夸赞&#xff0c;但是网上的资料确实少的可怜。特此记录一下我在学习这个数据库的心酸历程。 安装就看这个大哥的&#xff0c;我之前安装就是看的他的&#xff0c;非常靠谱。 linux安装…

Embedding例子:简单NN网络、迁移学习例子

一、简单例子&#xff1a;构造简单NN网络生成Embedding 1、pytorch例子 2、tensorflow例子 # 1导入模块 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding import numpy as np# 2构建语料库 corpus[[…

每日两题 / 22. 括号生成 54. 螺旋矩阵(LeetCode热题100)

22. 括号生成 - 力扣&#xff08;LeetCode&#xff09; dfs生成合法的括号序列即可 class Solution { public:vector<string> ans;void dfs(int l, int r, int n, string& s){if (s.size() n * 2){ans.push_back(s);return;}if (l){s "(";dfs(l - 1, …

Burpsuite插件 BurpAPIFinder专为未授权/敏感信息/越权而生

BurpAPIFinder 攻防演练过程中&#xff0c;我们通常会用浏览器访问一些资产&#xff0c;但很多未授权/敏感信息/越权隐匿在已访问接口过html、JS文件等&#xff0c;通过该Burp插件我们可以&#xff1a; 1、发现通过某接口可以进行未授权/越权获取到所有的账号密码、私钥、凭证 …

记录方式重新打开人生

文章目录 引言节省生命感知细节的能力正视痛苦总结 引言 你是否遇到以下问题 时间过得很快&#xff0c;不知道过去在忙什么事情很多很杂&#xff0c;感觉一直都很忙但是好像也没啥收获生活、工作中不顺心的事情很多&#xff0c;心里比较烦躁压抑 那么可以尝试参考《奇特的一…

python环境引用《解读》----- 环境隔离

首先我先讲一下Anaconda&#xff0c;因为我用的是Anaconda进行包管理。方便后面好理解一点。 大家在python中引用环境的时候都会经历下面这一步&#xff1a; 那么好多人就会出现以下问题&#xff08;我就是遇到了这个问题&#xff09;&#xff1a; 我明明下载了包&#xff0c…