1、准备工作

Docker Hub地址:https://hub.docker.com/

(1)注册用户:

说明:

  • Sign In:登陆,已有账户,点击这里进行登陆。
  • Sign Up:注册,没有账户,点击这里进行注册。
  • Get Started Today for Free :立刻免费开始。
  • Already have an account? Sign In:已经有帐号了? 登入。
  • Send me occasional product updates and announcements.:给我发送产品更新和公告。
  • 进行人机身份验证:这个选项必须勾选。
  • By creating an account, you agree to the Terms of Service, Privacy. Poligy, and Data Processing Terms.:创建帐户即表示您同意“服务条款,隐私”。 政策和数据处理条款。

上面的解释已经很清楚了,我们直接填写用户名、邮箱、密码,勾选进行人机身份验证,最后点击Sign Up即可。

(2)验证用户:

之后去我们的邮箱进行验证:

感谢加入Docker。完成注册,请点击下面的按钮来验证您的帐户。

点击:Verify email address:验证电子邮件。

之后会跳转到如下界面:

提示您:验证成功!请使用您的凭据登录。

之后Docker会再给你发送一封邮件,内容为:恭喜您,您的帐户已被验证,欢迎访问Docker。

然后我们就可以用上边注册的用户名密码进行登陆了。

(3)登陆Docker Hub

登陆Docker Hub,会在右上角显示当前用户名称。

2、Docker登陆命令

登陆命令:docker login

[root@192 tomcatlogs]# docker login --help

Usage:  docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon. Options:
-p, --password string Password
--password-stdin Take the password from stdin
-u, --username string Username

演示:

# 用户名或密码错误
[root@192 ~]# docker login -u xxxxx6688
Password:
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password # 登陆成功
[root@192 ~]# docker login -u xxxxx6688
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

登录完毕后就可以提交镜像了。

说明:

  • docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
  • docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

登出示例:

[root@192 ~]# docker logout
Removing login credentials for https://index.docker.io/v1/

3、Docker提交命令

提交命令:docker pull 镜像名:TAG

[root@192 tomcatlogs]# docker push --help

Usage:  docker push [OPTIONS] NAME[:TAG]

Push an image or a repository to a registry

Options:
-a, --all-tags Push all tagged images in the repository
--disable-content-trust Skip image signing (default true)
-q, --quiet Suppress verbose output

示例:

# 查看本地Docker镜像
[root@192 ~]# clear
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
diytomcat9 latest 12988584a30e 14 hours ago 607MB
centos latest 300e315adb2f 3 months ago 209MB # 把diytomcat9镜像发布到Docker Hub
[root@192 ~]# docker push diytomcat9
Using default tag: latest
The push refers to repository [docker.io/library/diytomcat9]
b4ef62e90bac: Preparing
5da8b73f85d7: Preparing
68a0171f3cc4: Preparing
76f4ae6e5125: Preparing
2653d992f4ef: Preparing

可以看到,向远程仓库推送镜像的时候,也是按照镜像的层级来进行推送的。

提示:我看网上说有用docker push 注册用户名/镜像名:TAG来进行提交,亲测不用加用户名。

4、总结:

发布镜像到Docker Hub很简单,只需要两步:

  1. docker login:登陆Docker Hub。
  2. docker push:发布镜像到Docker Hub。

5、补充:docker tag命令

作用貌似是,修改本地镜像名称和版本号,其实是给镜像打标记。

使用命令:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

作用:给本地镜像打一个标记(tag),可将其归入某一仓库。

演示:

# 查看本地Docker镜像
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
diytomcat9 latest 12988584a30e 14 hours ago 607MB
centos latest 300e315adb2f 3 months ago 209MB # 给diytomcat9镜像打tag标记
[root@192 ~]# docker tag 12988584a30e wukong/tomcat9:1.8 # 再次查看本地Docker镜像
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
diytomcat9 latest 12988584a30e 14 hours ago 607MB
wukong/tomcat9 1.8 12988584a30e 14 hours ago 607MB
centos latest 300e315adb2f 3 months ago 209MB

提示:镜像打了新的TAG,虽然会多了一条镜像记录,但是从IMAGE ID可以得知他们是同一个镜像。

实际使用场景:

  • 当镜像配置到一定程度时,想打个tag进行记录当前版本,可以打个V1
  • 再次更新镜像时,又可以打个V2
  • 当是最新版本待上传时,可以不打默认就是latest最新。
  • 这样不仅能保存最新版本的镜像,也能保存历史版本的镜像,方便新版本镜像出问题时进行版本回溯。

『现学现忘』Docker基础 — 40、发布镜像到Docker Hub的更多相关文章

  1. docker学习笔记7:发布镜像到docker hub上

    镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ...

  2. 『现学现忘』Docker基础 — 16、Docker中的基本概念和底层原理

    目录 1.Docker的底层原理 2.Docker中常用的基本概念 3.run命令的运行流程 4.为什么Docker比VM快 Docker架构图: 我们依照Docker架构图进行Docker基础概念的 ...

  3. 『现学现忘』Docker基础 — 25、Docker镜像讲解

    目录 1.镜像是什么 2.Docker镜像获取的方式 3.Docker镜像加载原理 (1)UnionFS(联合文件系统) (2)Docker镜像加载原理 1.镜像是什么 镜像是一种轻量级.可执行的独立 ...

  4. 『现学现忘』Docker基础 — 26、Docker镜像分层的理解

    目录 1.分层的镜像 2.加深理解 3.特别说明 1.分层的镜像 我们可以去下载一个镜像,注意观察下载的日志输出,可以看到Docker的镜像是一层一层的在下载. 思考:为什么Docker镜像要采用这种 ...

  5. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  6. 『现学现忘』Docker基础 — 32、通过DockerFile的方式挂载数据卷

    目录 1.简单了解一下DockerFile 2.通过DockerFile的方式挂载数据卷 (1)创建DockerFile文件 (2)编辑Dockerfile文件 (3)构建Dokcer镜像 (4)启动 ...

  7. 『现学现忘』Docker基础 — 34、DockerFile文件详解

    目录 1.DockerFile文件说明 2.Dockerfile构建过程解析 (1)Docker容器构建三步骤 (2)Dockerfile文件的基本结构 (3)Dockerfile注意事项 (4)Do ...

  8. 『现学现忘』Docker基础 — 35、实战:自定义CentOS镜像

    目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像 ...

  9. 『现学现忘』Docker基础 — 10、Docker的安装

    目录 1.前提 2.通过yum安装Docker (1)更新yum包 (2)移除旧的Docker版本 (3)安装必须的软件包 (4)设置稳定yum源仓库 (5)更新yum软件包索引 (6)开始安装Doc ...

随机推荐

  1. 1s 创建100G文件,最快的方法是?

    在我们日常工作中,为了验证开发的功能,比如:文件上传功能或者算法的处理效率等,经常需要一些大文件进行测试,有时在四处找了一顿之后,发现竟然没有一个合适的,虽然 Linux 中也有一些命令比如:vim. ...

  2. HTML5+JavaScript+MUI 毕业答辩常见问题

    问题1:HTML5前端开发环境有哪些? HTML5网页前端开发,实际也是HTML网页开发,HTML5知识万维网的核心语言.标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改的第五次 ...

  3. Android第1-2周作业

    作业1:安装环境,截图编程界面,截图运行界面 作业2:九宫格 <?xml version="1.0" encoding="utf-8"?> < ...

  4. 被人DDoS攻击了,分析一下原理和防护

    一.行业现象 1.1 为什么要攻击? 常见的,一个是同行恶意竞争,一个是敲诈勒索. 无论是传统行业的线下门店,还是互联网行业的门户网站.APP产品,都存在着竞争关系,争相获得更多客源,究其目的,无非是 ...

  5. 将python脚本打包为exe可执行文件

    技术背景 在很多情况下,编程人员是在Linux环境下完成的编程任务,但是更多的使用人员是在Windows环境下的,比方说,在参考链接1的文章中提到: 那么我们就不得不考虑一个环境转化的问题.pytho ...

  6. JVM垃圾回收篇

    点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 基础概念 GC=jvm垃圾回收,垃圾回收机制是由垃圾回收器Garbage ...

  7. Ubuntu 系统安装,VMware

    系统版本   ubuntu-18.04.5-server-amd64.iso 1.自定义安装 2.默认下一步 3. 稍后安装操作系统 4.选择ubuntu 64位 5.选额安装的目录 6.设置虚拟机c ...

  8. 《C++Primary》阅读简要总结

    三月份的主要任务之一就是阅读C++Primary这本书,终于在昨天25号下午完成了基础部分的阅读,算是对基础知识整体梳理了一遍,开始看这本书大概可以追溯到去年12月份,在那之前看了C++的入门书籍&l ...

  9. 神器 Nginx 的学习手册 ( 建议收藏 )

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 ...

  10. APP应用前端开发

    1.开发手机APP前端要重视meta标签的编写: 2.注意HTML5标签在前端开发中的使用: 3.前端制作要舍弃CSS float属性(可flex布局),用绝对定位不利于页面布局的扩展: 4.APP前 ...