程序员进阶,Docker实践,如何将镜像推送到Docker Hub?
nanshan 2024-10-23 11:50 16 浏览 0 评论
镜像构建完毕之后,我们也可以将它上传到Docker Hub上面去,这样其他人就能使用这个镜像了。比如,我们可以在组织内共享这个镜像,或者完全公开这个镜像。
注意Docker Hub也提供了对私有仓库的支持,这是一个需要付费的功能,你可以将镜像存储到私有仓库中,这样只有你或者任何与你共享这个私有仓库的人才能访问该镜像。这样你就可以将机密信息或者代码放到私有镜像中,不必担心被公开访问了。 |
我们可以通过docker push命令将镜像推送到Docker Hub。
现在就让我们来试一试如何推送,如代码清单4-77所示。
代码清单4-77 尝试推送root镜像
$ sudo docker push static_web
2013/07/01 18:34:47 Impossible to push a "root" repository.
Please rename your repository in <user>/<repo> (ex: jamtur01/
static_web)
出什么问题了?我们尝试将镜像推送到远程仓库static_web,但是Docker认为这是一个root仓库。root仓库是由Docker公司的团队管理的,因此会拒绝我们的推送请求。让我们再换一种方式试一下,如代码清单4-78所示。
代码清单4-78 推送Docker镜像
$ sudo docker push jamtur01/static_web
The push refers to a repository [jamtur01/static_web] (len: 1)
Processing checksums
Sending image list
Pushing repository jamtur01/static_web to registry-1.docker.io (1 tags)
...
这次我们使用了一个名为jamtur01/static_web的用户仓库,成功地将镜像推送到了Docker Hub。我们将会使用自己的用户ID,这个ID也是我们前面创建的,并选择了一个合法的镜像名(如youruser/yourimage)。
我们可以在Docker Hub看到我们上传的镜像,如图4-4所示。
提示可以在http://docs.docker.com/docker-hub/查看到关于Docker Hub的文档和更多关于功能方面的信息。
自动构建
除了从命令行构建和推送镜像,Docker Hub还允许我们定义自动构建(Automated Builds)。为了使用自动构建,我们只需要将GitHub 或 BitBucket 中含有Dockerfile文件的仓库连接到Docker Hub即可。向这个代码仓库推送代码时,将会触发一次镜像构建活动并创建一个新镜像。在之前该工作机制也被称为可信构建(Trusted Build)。
{注意 }自动构建同样支持私有GitHub和BitBucket仓库。
在Docker Hub中添加自动构建任务的第一步是将GitHub或者BitBucket账号连接到Docker Hub。具体操作是,打开Docker Hub,登录后单击个人信息连接,之后单击Add Repository -> Automated Build按钮,如图4-5所示。
你将会在此页面看到关于链接到GitHub或者BitBucket账号的选项,如图4-6所示。
单击GitHub logo下面的Select按钮开始账号连接。你将会转到GitHub页面并看到Docker Hub的账号连接授权请求,如图4-7所示。
有两个选项可以选择:Public and Private (recommended)和Limited。选择Public and Private (recommended)并单击Allow Access完成授权操作。有可能会被要求输入GitHub的密码来确认访问请求。
之后,系统将提示你选择用来进行自动构建的组织和仓库,如图4-8所示。
单击想用来进行自动构建的仓库后面的Select按钮,之后开始对自动构建进行配置,如图4-9所示。
指定想使用的默认的分支名,并确认仓库名。
为每次自动构建过程创建的镜像指定一个标签,并指定Dockerfile的位置。默认的位置为代码仓库的根目录下,但是也可以随意设置该路径。
最后,单击Create Repository按钮来将你的自动构建添加到Docker Hub中,如图4-10所示。
你会看到你的自动构建已经被提交了。单击Build Status链接可以查看最近一次构建的状态,包括标准输出的日志,里面记录了构建过程以及任何的错误。如果该构建状态为Done,则表示该自动构建为最新状态。Error状态则表示构建过程出现错误。你可以单击查看详细的日志输出。
{注意}不能通过docker push命令推送一个自动构建,只能通过更新你的GitHub或者BitBucket仓库来更新你的自动构建。
本书摘自《第一本Docker书》
本书将指导读者完成安装、部署、管理和扩展Docker。首先介绍Docker及其组件的基础知识,然后使用Docker构建容器和服务来完成各种任务。本书将带领读者通过整个开发生命周期,从测试到生产,了解Docker符合什么场景。书中将利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker等内容。
相关推荐
- 提升网络安全 cisco asa5512-k8防火墙促
-
(中关村在线网络安全行情)ciscoasa5512-k8为标准下一代防火墙,能够为中小型网络提供出色的安全防护和流量管控服务。最近这款防火墙设备在京东商城的促销价格为14299元,有需要的用户可以关注...
- 太一星晨:负载均衡性能参数如何测评?
-
海外网2014-08-0816:03:568月6日消息,当前,在云计算和大数据为主导的需求环境下,负载均衡和应用交付已为大型企业数据中心“保驾护航”的必备品。不过,负载均衡作为一种比较“新奇”的设备...
- Nginx架构揭秘:如何用5大核心机制扛住百万级并发
-
1.灵魂拷问:为什么全球Top1000网站中65%选择Nginx?17Nginx不仅是Web服务器,更是高并发架构的核武器。其单机支持10万+并发连接的秘密,源于三大设计哲学:事件驱动模型:非阻塞...
- 高并发场景下,Nginx性能如何提升10倍?
-
大家好,我是mikechen。在高并发场景,Nginx是流量入口的第一道防线,如果想拦截亿级流量,需要Nginx合理调优才能应对@mikechen。本文作者:陈睿|mikechen文章来源:mike...
- 紧急避坑!数据库突现数十GB临时文件?原因与根治方案揭秘
-
引言:某天深夜,运维小王突然收到磁盘爆满的告警,追踪发现Kingbase数据库的syssql_tmp目录竟堆积了数十GB的临时文件!这些神秘文件为何产生?会引发哪些风险?如何彻底根治?本文将带你深入探...
- 互联网大厂后端必看!3 步搞定 Nginx IP 限流,服务器扛住百万流量
-
作为互联网大厂的后端开发人员,你是否曾遇到过这样的场景:服务器突然涌入大量请求,服务响应速度急剧下降,甚至出现崩溃?这时候,Nginx的IP访问限流策略就显得尤为重要。然而,不少开发者在配置N...
- MySQL max_connections 达到最大值 – 我们如何解决它
-
您的网站是否显示MySQLmax_connections达到最大限制错误?通常,当我们尝试连接到MySQL服务器时,MySQLmax_connections值不足会导致“Tooma...
- Nginx百万并发背后技术揭秘!(nginx并发能力是多少)
-
在互联网业务高速发展的今天,用户访问量呈指数级增长,服务器面临的并发压力也越来越大。一个高并发的网站,如果处理不当,可能会出现请求超时、服务器宕机、用户体验下降等问题。Nginx作为当前最流行的高性...
- Nginx底层原理:一文解析Nginx为什么并发数可以达到3w!
-
Nginx以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析Nginx为什么这么快!Nginx的进程模型Nginx服务器,正常运行过程中:多进程:一个Mast...
- Nginx合集-并发连接能力优化(nginx高并发调优)
-
一、前言nginx服务器老是报告TIME_WAIT告警,ESTABLISHED告警,检查nginx配置和系统网络配置发现现有的配置并发能力太弱,无法满足现有的并发请求的需求。二、解决方法改进方法...
- 开源OS上安装Gnome Flashback经典桌面
-
1安装GnomeFlashback对于用户来说,相比Unity桌面,GnomeFlashback桌面环境是一个简单的并且不错的选择,可以让你找回过去经典的桌面。GnomeFlashback基于G...
- 新手篇 — 虚拟机系统的使用与常见问题
-
本文章会详细介绍虚拟机系统的使用与常见问题,有很多读者都会遇到这样的情况,软件装不上,自己的电脑中软件很多,又不想换电脑系统,那么虚拟机可以帮你解决这个烦恼,由于文章内容写的比较详细,内容会比较多,可...
- VMware虚拟机与主机之间无法复制粘贴解决
-
问题:VMware安装系统后发现无法直接与主机之间进行复制粘贴了,怎么办?解决办法:按照以下3步进行1、设置中客户机隔离检查2、重新安装VMwareTools3、重启电脑...
- 实现VMware虚拟机与物理主机共享文件夹
-
在安装虚拟机之后,难免会遇到需要将文件从主机拷到虚拟机当中,但是很尴尬的事情就是不能直接将文件从主机拖到虚拟机中,所以只能借助U盘,但是频繁的插拔U盘非常的繁琐。为了解决这一需求,就可以将物理主机和...
- 在 Windows 11 或 10 上安装 Virt-viewer 的单行命令
-
Virt-Viewer(或RemoteViewer)是Redhat提供的一个开源程序,允许用户控制和查看运行在本地或远程服务器上的虚拟机。它体积轻巧,并提供了一个简单的图形用户界面来访问由L...
你 发表评论:
欢迎- 一周热门
-
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WindowsServer2022|配置NTP服务器的命令
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
解决Linux终端中“-bash: nano: command not found”问题
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)