『现学现忘』Docker基础 — 40、发布镜像到Docker Hub
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很简单,只需要两步:
- docker login:登陆Docker Hub。
- 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的更多相关文章
- docker学习笔记7:发布镜像到docker hub上
		镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ... 
- 『现学现忘』Docker基础 — 16、Docker中的基本概念和底层原理
		目录 1.Docker的底层原理 2.Docker中常用的基本概念 3.run命令的运行流程 4.为什么Docker比VM快 Docker架构图: 我们依照Docker架构图进行Docker基础概念的 ... 
- 『现学现忘』Docker基础 — 25、Docker镜像讲解
		目录 1.镜像是什么 2.Docker镜像获取的方式 3.Docker镜像加载原理 (1)UnionFS(联合文件系统) (2)Docker镜像加载原理 1.镜像是什么 镜像是一种轻量级.可执行的独立 ... 
- 『现学现忘』Docker基础 — 26、Docker镜像分层的理解
		目录 1.分层的镜像 2.加深理解 3.特别说明 1.分层的镜像 我们可以去下载一个镜像,注意观察下载的日志输出,可以看到Docker的镜像是一层一层的在下载. 思考:为什么Docker镜像要采用这种 ... 
- 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍
		目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ... 
- 『现学现忘』Docker基础 — 32、通过DockerFile的方式挂载数据卷
		目录 1.简单了解一下DockerFile 2.通过DockerFile的方式挂载数据卷 (1)创建DockerFile文件 (2)编辑Dockerfile文件 (3)构建Dokcer镜像 (4)启动 ... 
- 『现学现忘』Docker基础 — 34、DockerFile文件详解
		目录 1.DockerFile文件说明 2.Dockerfile构建过程解析 (1)Docker容器构建三步骤 (2)Dockerfile文件的基本结构 (3)Dockerfile注意事项 (4)Do ... 
- 『现学现忘』Docker基础 — 35、实战:自定义CentOS镜像
		目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像 ... 
- 『现学现忘』Docker基础 — 10、Docker的安装
		目录 1.前提 2.通过yum安装Docker (1)更新yum包 (2)移除旧的Docker版本 (3)安装必须的软件包 (4)设置稳定yum源仓库 (5)更新yum软件包索引 (6)开始安装Doc ... 
随机推荐
- 【直播回顾】OpenHarmony知识赋能第四期第三课——I2C驱动开发
			3月24日晚上19点,知识赋能第四期直播的第三节课<OpenHarmony标准系统HDF框架之I2C驱动开发>,在OpenHarmony开发者成长计划社群内成功举办. 本期课程,由拓 ... 
- 2021.11.09 P3435 [POI2006]OKR-Periods of Words(KMP)
			2021.11.09 P3435 [POI2006]OKR-Periods of Words(KMP) https://www.luogu.com.cn/problem/P3435 题意: 对于一个仅 ... 
- docker基础_数据卷
			docker数据卷 为什么要使用数据卷 如果数据都在容器中,那么容器一旦删除,数据就会丢失!docker容器需要将产生的数据同步到本地.容器与容器之间也需要有一个数据共享的技术 将某些文件共享.这就是 ... 
- marginStart marginEnd就关于上述两个用法展开讨论
			在我还在手动调整两个控件距离时,第一次见识到了marginStart marginEnd两个用法, 但是,只知道它俩能够调整控件距离,但是不知道具体用法,老师也没细说,就这样开启了我对于这两个用法&q ... 
- IoT平台如何实现业务配置中心
			摘要:本文讲述业务配置中心(下文简述为配置中心)的关键技术和实现方式. 本文分享自华为云社区<手把手教你物联网平台如何实现业务配置中心>,作者: 华为云IoT专家团 . 上一篇<华为 ... 
- Spark SQL底层执行流程详解
			本文目录 一.Apache Spark 二.Spark SQL发展历程 三.Spark SQL底层执行原理 四.Catalyst 的两大优化 一.Apache Spark Apache Spark是用 ... 
- 6.1 SHELL脚本
			6.1 SHELL脚本元素 第一行的脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行该脚本: 第二行的注释信息(#)是对脚本功能和某些命令的介绍信息,使得自己或他人在日后看到这个脚本内容时, ... 
- springmvc04-数据处理
			数据处理 我们把它分为三种情况来分析,这样我们对于数据处理会有更好的理解 1.提交的域名称和处理方法的参数名一致 提交数据 : http://localhost:8080/hello?name=xi ... 
- 利用QEMU+GDB搭建Linux内核调试环境
			前言 对用户态进程,利用gdb调试代码是很方便的手段.而对于内核态的问题,可以利用crash等工具基于coredump文件进行调试. 其实我们也可以利用一些手段对Linux内核代码进行gdb调试,qe ... 
- 【爬虫+情感判定+Top10高频词+词云图】“谷爱凌”热门弹幕python舆情分析
			一.背景介绍 最近几天,谷爱凌在冬奥会赛场上夺得一枚宝贵的金牌,为中国队贡献了自己的荣誉! 针对此热门事件,我用Python的爬虫和情感分析技术,针对小破站的弹幕数据,分析了众网友弹幕的舆论导向,下面 ... 
