标记(Tag),推送(Push),拉取(Pull)你自己的镜像

2023-05-16

目录

  • 开始使用Docker
  • 在OS X安装Docker
  • 理解镜像(images)和容器(containers)
  • 搜索&运行whalesay镜像
  • 构建你自己的镜像
  • 创建Docker Hub账号(account)&库(repository)
  • 标记(Tag),推送(Push),拉取(Pull)你自己的镜像

在这一部分, 你会标记, 推送你的docker-whale镜像到你刚才新建好的Hub库中. 当你做好只好, 你可以拉去你的新镜像来测试你的Hub库是否正常.

第一步: 标记和推送镜像

If you don’t already have a terminal open, open one now:

  1. 打开Launchpad并定位到Docker Quickstart Terminal图标.

    这里写图片描述

  2. 点击Docker Quickstart Terminal图标, 打开一个窗口.

  3. 将光标定位到Docker Quickstart Terminal窗口

  4. 输入docker images命令来查看当前的镜像列表:

    $ docker images
    REPOSITORY           TAG          IMAGE ID            CREATED             VIRTUAL SIZE
    docker-whale         latest       7d9495d03763        38 minutes ago      273.7 MB
    <none>               <none>       5dac217f722c        45 minutes ago      273.7 MB
    docker/whalesay      latest       fb434121fc77        4 hours ago         247 MB
    hello-world          latest       91c95931e552        5 weeks ago         910 B
  5. 找到docker-whale镜像的image id

    在这个例子中, id是7d9495d03763

    值得注意的是, Hub库显示的是库的名称而不是命名空间. 对于Docker Hub将docker-whale镜像与Docker Hub帐户相关联后, 你需要为它重命名为YOUR_DOCKERHUB_USERNAME/docker-whale. 您的帐户名称会在Docker Hub中显示镜像的命名空间. 你会在下一步标记镜像中做到这一点.

  6. 使用IMAGE IDdocker tag命令来标记docker-whale镜像.

    命令看来起来像这样子:

    这里写图片描述

    当然你的账户名称应该是你自己的, 所以, 你要在这个命令中使用自己的账户名称和镜像ID, 然后按回车.

    $ docker tag 7d9495d03763 maryatdocker/docker-whale:latest

  7. 再次输入docker images命令来查看当前的镜像列表:

    $ docker images
    REPOSITORY           TAG          IMAGE ID            CREATED             VIRTUAL SIZE
    docker-whale         latest       7d9495d03763        38 minutes ago      273.7 MB
    <none>               <none>       5dac217f722c        45 minutes ago      273.7 MB
    docker/whalesay      latest       fb434121fc77        4 hours ago         247 MB
    hello-world          latest       91c95931e552        5 weeks ago         910 B
  8. 使用docker login命令从命令行登陆Docker Hub

    登陆命令的格式是这样的:

    docker login --username=yourhubusername --email=youremail@company.com

    当命令返回响应是, 输入你的密码并按回车, 所以, 像这样:

    $ docker login --username=maryatdocker --email=mary@docker.com
    Password:
    WARNING: login credentials saved in C:\Users\sven\.docker\config.json
    Login Succeeded
  9. 输入docker push命令来推送你的镜像到Hub库

    $ docker push maryatdocker/docker-whale
    The push refers to a repository [maryatdocker/docker-whale] (len: 1)
    7d9495d03763: Image already exists
    c81071adeeb5: Image successfully pushed
    eb06e47a01d2: Image successfully pushed
    fb434121fc77: Image successfully pushed
    5d5bd9951e26: Image successfully pushed
    99da72cfe067: Image successfully pushed
    1722f41ddcb5: Image successfully pushed
    5b74edbcaa5b: Image successfully pushed
    676c4a1897e6: Image successfully pushed
    07f8e8c5e660: Image successfully pushed
    37bea4ee0c81: Image successfully pushed
    a82efea989f9: Image successfully pushed
    e9e06b06e14c: Image successfully pushed
    Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
  10. 返回你在Docker Hub的页面查看你的新镜像

    这里写图片描述

第二步: 拉取新镜像

在这最后一节,你会拉取你刚刚推送到Docker Hub上的镜像。在此之前, 你需要从本地计算机中删除原始镜像. 如果你没有删除, Docker不会从Hub上拉取镜像 - 为什么这样呢?因为两个图像是相同的.

  1. 将光标定位到Docker Quickstart Terminal窗口

  2. 输入docker images来列出你当前在本地的镜像列表

        $ docker images
    REPOSITORY                  TAG       IMAGE ID        CREATED          VIRTUAL SIZE
    maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
    docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
    <none>                      <none>    5dac217f722c    5 hours ago      273.7 MB
    docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
    hello-world                 latest    91c95931e552    5 weeks ago      910 B

    为了测试成功,你需要从本地系统中删除了鲸和泊坞窗鲸图像。删除maryatdocker/docker-whaledocker-whale. 它们迫使下次使用docker pull时, Docker从Hub库中获取镜像.

  3. 使用docker rmi删除maryatdocker/docker-whaledocker-whale镜像.

    你可以使用镜像ID或者名称删除

    $ docker rmi -f 7d9495d03763
    $ docker rmi -f docker-whale
  4. 使用docker run命令从你的Hub库中拉取并加载新的镜像

    docker run yourusername/docker-whale

    由于镜像不再在本地系统上,Dokcer要下载它。

        $ docker run maryatdocker/docker-whale
    Unable to find image 'maryatdocker/docker-whale:latest' locally
    latest: Pulling from maryatdocker/docker-whale
    eb06e47a01d2: Pull complete
    c81071adeeb5: Pull complete
    7d9495d03763: Already exists
    e9e06b06e14c: Already exists
    a82efea989f9: Already exists
    37bea4ee0c81: Already exists
    07f8e8c5e660: Already exists
    676c4a1897e6: Already exists
    5b74edbcaa5b: Already exists
    1722f41ddcb5: Already exists
    99da72cfe067: Already exists
    5d5bd9951e26: Already exists
    fb434121fc77: Already exists
    Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
    Status: Downloaded newer image for maryatdocker/docker-whale:latest
     ________________________________________
    / Having wandered helplessly into a      \
    | blinding snowstorm Sam was greatly     |
    | relieved to see a sturdy Saint Bernard |
    | dog bounding toward him with the       |
    | traditional keg of brandy strapped to  |
    | his collar.                            |
    |                                        |
    | "At last," cried Sam, "man's best      |
    \ friend -- and a great big dog, too!"   /
     ----------------------------------------
                \
                 \
                  \
                          ##        .
                    ## ## ##       ==
                 ## ## ## ##      ===
             /""""""""""""""""___/ ===
        ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
             \______ o          __/
              \    \        __/
                \____\______/

下一步去哪里

你已经做了很多,你已经做了所有的以下基本Docker任务。

  • 安装Docker
  • 在容器中运行的软件镜像
  • 在Docker Hub中查找有趣的镜像
  • 你自己的机器上运行镜像
  • 修改镜像, 创建新的镜像并运行
  • 创建Docker Hub帐户和库
  • 推送你的镜像到Docker Hub与他人分享

不过至此, 你只是接触了Docker所有能做的基本内容. 转到下一个页面, 了解更多信息.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标记(Tag),推送(Push),拉取(Pull)你自己的镜像 的相关文章

  • 如何在 Git 中将某些文件推送到 origin/master ?

    我对 Git 有点陌生 我想将一些文件推送到我的 Git 源 远程 我做了什么 我有我的主人 我创建了一个分支来做一些工作 之后我将我的分支合并到我的主人 在我的工作期间 大量的二进制文件和项目文件在本地进行了更改 添加 我想only to
  • 为什么我会收到错误:RPC 失败; result=52, HTTP code = 0 fatal: 推送到github时远端意外挂断?

    我创建了一个新的存储库github并想推送一些文件 所以我像平常一样初始化存储库并执行git add 添加当前目录 这是我的java项目文件夹与bin and src文件夹内 然后我使用以下命令添加了远程目录 git remote add
  • didFailToRegisterForRemoteNotificationsWithError:用户拒绝错误?

    如果用户拒绝启用推送通知 我们将通过 didFailToRegisterForRemoteNotificationsWithError 收到错误 有谁知道在这种情况下 NSError 对象中的代码是什么 以将其与没有可用连接区分开来 我不认
  • 使用 GUI -OR- adb 命令从模拟器中提取文件时出现问题

    我正在 Eclipse Win7x64 中开发我的第一个 Android 应用程序 但在提取 SQLite 文件来检查其中的内容时遇到问题 我使用 DDMS GUI 来拉取时看到了这个问题 这似乎有些已知 2011 03 01 20 15
  • 从分叉的上游原点拉取时忽略特定文件

    在 git 中 从上游源 即原始项目 拉取时如何免除某些文件 我正在开发一个项目 该项目最初是从一个非常活跃的存储库中分叉出来的 我已将原始版本添加为名为 upstream 的远程版本 以便可以运行 git pull upstream 并将
  • 即使没有新的变化,也强制推送到 Gerrit

    我想将已经推送的补丁集推送到 Gerrit 本来当补丁发送上去时 构建系统没有触发 我需要通过重新提交所有补丁来再次触发它 Gerrit 拒绝了这一点 remote rejected HEAD gt refs for branch no n
  • 如何强制 Kubernetes 重新拉取镜像?

    我在 GKE 上的 Kubernetes 中有以下复制控制器 apiVersion v1 kind ReplicationController metadata name myapp labels app myapp spec replic
  • 与push()相反; [复制]

    这个问题在这里已经有答案了 JavaScript 的反义词是什么push method 假设我有一个数组 var exampleArray remove 我想要push 这个单词 keep exampleArray push keep 如何
  • 如何实现XMPP发送推送通知

    我想使用 XMPP 以便我的应用程序能够向 Android 手机 1 5 及更高版本 发送更新 我非常想使用 XMPP 向手机发送推送通知 我将如何实现这一目标 目前 我的 Web 应用程序正在 apache tomact 上运行 带有许多
  • Git 拉取 Push.default 警告

    当我将 git commit 推送到远程存储库时 出现了以下警告 clyde browns computer 2 bloccit clydiscope git commit m Installed gem faker and generat
  • Push 替换数组中的旧值

    也许是因为我工作了一整天 我看不到问题所在 但在下面的代码中 警报仅显示最后添加的值 并且不会将值推送到数组中 window sortControl sortControlPanel div sortControl simpleSortCr
  • 获取默认远程推送和默认远程分支

    我想从脚本中获取默认的推送远程和默认的推送分支 对于召回 git 将按以下顺序在这些设置之间选择远程 branch
  • 无法通过 Git Pull 更新我的 Git 本地存储库

    我删除了本地 Git 存储库中的一个文件 我希望通过更新我的 Git 存储库来找回该文件 我运行以下命令失败 git pull 它说 upToDate 但我没有获得最新的文件 github上的公共仓库不使用SVN 因此问题不可能是SVN 如
  • 如何修复 Nodejs 中的“无法读取未定义的属性推送”错误?

    我编写了一个简单的应用程序来学习 Nodejs 但是当我在 cmd 中运行 nodemon index js 时出现此错误 类型错误 无法读取未定义的属性 push 应用程序崩溃 启动前等待文件更改 我已遵循 udemy 课程中的所有说明来
  • JQuery 和 PHP - 我可以从服务器推送吗?

    我刚刚开始研究 JQuery 到目前为止 一切都是 PHP 只是好奇 如果服务器检测到事件并想要更新用户的浏览器 我可以进行服务器推送 还是客户端必须轮询 客户端必须进行轮询 但你可以这样做长轮询 http en wikipedia org
  • heroku 应用程序在推送后仍然引用旧文件

    我最近在 Heroku 中遇到了这个非常奇怪的问题 我在本地开发和测试 然后将更改推送到 Heroku 尽管推送的文件已经更改 Heroku 确实识别了它并推送了新文件 但当我查看 Heroku 上的确切网页时 它的行为就好像它仍在使用我刚
  • Android 平台中的推送通知

    我正在寻找编写一个从服务器接收推送警报的应用程序 我找到了几种方法来做到这一点 SMS 拦截传入的 SMS 并从服务器发起拉取 定期轮询服务器 每个都有其自身的局限性 短信 不保证到达时间 轮询可能会耗尽电池电量 请问您有更好的建议吗 非常
  • Mercurial 工作流程是否可以通过未提交的更改进行更新?

    因此 我的网站从 CVS 切换到 Mercurial 我遇到的最大问题是 如果我正在处理一些我不想提交的文件 我只需保存它们 然后我还有其他文件想要推送到服务器 但是如果其他人已经制作了对存储库进行更改 然后我将它们拉下来 它要求我合并或变
  • Git 推送失败,“非快进更新被拒绝”

    我已经通过 Git Online 编辑了我的 GIT 存储库 当我尝试推送本地代码更改后 出现错误 Git push failed To prevent from losing history non fast forward update
  • 如何将本地不同的 Git 分支推送到 Heroku/master

    Heroku 的政策是忽略除 master 之外的所有分支 虽然我确信 Heroku 的设计者对这个政策有很好的理由 我猜测是为了存储和性能优化 但对我作为开发人员来说 结果是无论我正在研究什么本地主题分支 我都想要一种简单的方法将 Her

随机推荐

  • UOS(ARM64)安装Qt5

    本教程主要参考了https blog csdn net no2101 article details 106024632 主机信息 xff1a 厂家 xff1a 宝德 xff08 PowerLeader xff09 型号 xff1a PT6
  • ONVIF与RTSP的关系。

    先说结论 xff0c 个人觉得RTSP这个传输协议是ONVIF这个架构的部分功能 xff08 音视频流 xff09 的实现 也就是支持ONVIF的摄像头 xff0c 必定提供了RTSP视频流的接口 附 xff1a 海康威视RTSP的URL规
  • python创建httpserver,并处理get、post请求

    参考 xff1a https blog csdn net qq 44159028 article details 118099689 https blog csdn net gujing001 article details 5315279
  • Qt串口QSerialPort的多线程 及 QSerialPort的waitForReadyRead函数的问题

    在官方的文档中提到 xff0c QSerialPort是不支持跨线程调用 因此不能在主线程 xff08 UI线程 xff09 创建QSerialPort xff0c 然后传递个指针给子线程 xff0c 然后在子线程中执行耗时的发送任务 最好
  • Debian/Ubuntu系统下,apt-get update 、apt-get upgrade 、apt-get dist-upgrade 命令之间的区别

    问题 xff1a 1 apt get update和 apt get upgrade之间有什么区别 xff1f 2 应该先跑哪个 xff1f 3 他们中的任何一个会自动运行另一个吗 xff1f 回答 xff1a 1 apt get upda
  • Qt使用ffmpeg

    最终 xff0c 还是逃不过要使用这个 xff0c 一直看到却一直没正式了解它的库 xff1a ffmpeg 这个库简单的说就是用来对视频进行各种处理的 xff1a 读取 格式转换 播放等等 目前我是在windows下 xff0c 在Qt里
  • ROS2中使用gazebo仿真时找不到libgazebo_ros_openni_kinect.so

    因为ros2的gazebo ros pkgs中 xff0c 已经将该插件移除 xff0c 或者说将该插件的功能合并到libgazebo ros camera so中 xff0c 这里是作者的说明 合并后 xff0c 深度相机的用法参考这里
  • 在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手

    目前的空余时间主要都在研究ROS2 xff0c 最终目的是控制自己用舵机组装的机械手 由于种种原因 xff0c 先控制Gazebo的自定义机械手 先看看目前的成果 左侧是rviz2中的moveit组件的机械手 xff0c 右侧是gazebo
  • ROS2中用MoveIt2控制自己的舵机机械手(3)

    1 前言 在前一篇中 xff0c 已经基本确认了整个的硬件架构 接下来先搞定机械臂的Solidworks建模以及导出urdf文件 xff0c 以及PCA9685对舵机的测试 2 机械手Solidworks建模及其URDF文件导出 2 1 机
  • ROS2中将octomap发布到Moveit中作为碰撞物体

    1 安装准备 这里假设你已经装好了ROS2以及Moveit2 xff08 都用二进制安装就行 xff0c 不用从源码安转 xff09 xff0c 没有安装好的 xff0c 可以按照鱼香ROS的教程安装 xff0c 两三行命令就搞定了 我的R
  • QtWebAssembly下使用iframe无法加载第三方网站的问题

    现象 假如用Qt xff08 emsdk xff09 自带服务器启动的话 xff1a 14 52 54 Starting D Qt emsdk emsdk python 3 9 2 nuget 64bit python exe D Qt e
  • ORBBEC(奥比中光)AstraPro相机在ROS2下的标定与D2C(标定与配准)

    文章目录 1 rgb depth相机标定矫正1 1 标定rgb相机1 2 标定depth相机1 3 rgb depth相机一起标定 xff08 效果重复了 xff0c 但是推荐使用 xff09 1 4 取得标定结果1 4 1 得到的标定结果
  • 手眼标定中利用Eigen求解AX=XB问题

    在手眼标定中 xff0c 求解AX 61 XB基本是个绕不过去的问题 xff0c 其中A B X都是4 4的变换矩阵 不过还好 xff0c 网上有不少现成的代码 xff0c 经过初步检测 xff0c 效果良好 xff0c 现在把我经过测试基
  • java质量重构-bug改造(二)

    8 不应忽略没有副作用的函数的返回值 当对函数的调用没有任何副作用时 xff0c 如果结果被忽略 xff0c 调用的意义何在 xff1f 在这种情况下 xff0c 要么函数调用没用 xff0c 应该删除 xff0c 要么源代码没有按预期运行
  • Pelco-D协议使用

    1 Pelco D协议格式 2 通用示例为 xff1a 水平向右控制 FF address 00 02 Hspeed 00 checksum 水平向左控制 FF address 00 04 Hspeed 00 checksum 俯仰向上控制
  • 什么是死锁?死锁的产生条件及解决办法

    定义 xff1a 在两个或多个并发进程中 xff0c 如果每个进程持有某种资源而又都等待着别的进程释放它或它们现在保持着的资源 xff0c 否则就不能向前推进 xff0c 此时每个进程都占用了一定的资源但又都不能向前推进 xff0c 称这一
  • 从GitHub导入文件到gittee仓库

    从GitHub导入文件到gittee仓库 有的时候用git下载文件会比较慢 xff0c 听老师讲使用码云gitee xff0c 亲试真的快很多 xff0c 所以把使用的流程记录一下 1 找到gitee官网 xff0c 注册账号 2 在git
  • OpenCV像素数据类型

    1 Unsigned 8bits 注 xff1a 一般图像结构参数 Mat数据结构参数 xff1a CV 8UC1 xff0c CV 8UC2 xff0c CV 8UC3 CV 8UC4 变量类型空间大小范围uchar8bits0 xff5
  • 去除 VSCode 插件 reStructuredText 的绿色波浪线以及 D002 和 D004 错误

    去除 VSCode 插件 reStructuredText 的绿色波浪线以及 D002 和 D004 错误 文章目录 去除 VSCode 插件 reStructuredText 的绿色波浪线以及 D002 和 D004 错误0 参考资料1
  • 标记(Tag),推送(Push),拉取(Pull)你自己的镜像

    目录 开始使用Docker在OS X安装Docker理解镜像 images 和容器 containers 搜索 amp 运行whalesay镜像构建你自己的镜像创建Docker Hub账号 account amp 库 repository