前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >玩转Docker仓库-Docker Registry及Harbor

玩转Docker仓库-Docker Registry及Harbor

作者头像
行百里er
发布于 2021-01-04 02:26:52
发布于 2021-01-04 02:26:52
1.1K00
代码可运行
举报
文章被收录于专栏:JavaJourneyJavaJourney
运行总次数:0
代码可运行

!! 最近有点忙,有一个多星期没有更新文章了,心里着实不美。 鉴于上一篇 容器化技术之Docker-从入地到上天 中关于Docker仓库相关的介绍有点简单,这次就从Docker仓库说起吧。 水文不易,且行且珍惜。

Docker镜像仓库

1 Docker Hub公共仓库

1.1 注册Docker账号

Docker Hub是Docker官方提供的公共仓库,需要我们注册一个Docker账号进行使用,注册地址:

https://hub.docker.com

1.2 客户端登录

!! 本文操作均是在Linux环境下。

命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker login

1.3 push镜像到Docker Hub仓库

先看一下镜像列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        dev       ae2feff98a0c   3 days ago   133MB
nginx        latest    ae2feff98a0c   3 days ago   133MB

就推送 nginx:dev 到仓库,命令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker push nginx:dev

然而这里会出现故障:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# docker push nginx:dev
The push refers to repository [docker.io/library/nginx]
4eaf0ea085df: Preparing 
2c7498eef94a: Preparing 
7d2b207c2679: Preparing 
5c4e5adc71a8: Preparing 
87c8a1d8f54f: Preparing 
denied: requested access to the resource is denied

拒绝了对资源的请求访问!

这是因为,推送镜像到官方仓库是有格式要求的,必须是如下格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker push username/image_name:tag

所有,我们得先按照格式将镜像打个标签:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker tag nginx:latest xblzer/nginx:v1

再看一下镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost ~]# docker images
REPOSITORY     TAG       IMAGE ID       CREATED      SIZE
nginx          dev       ae2feff98a0c   3 days ago   133MB
nginx          latest    ae2feff98a0c   3 days ago   133MB
xblzer/nginx   v1        ae2feff98a0c   3 days ago   133MB

此时再推送到仓库,命令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker push xblzer/nginx:v1

受网络限制,可能需要等待一段时间,push成功,会有如下提示:

推送成功会返回一个远程的版本,这里有一个hash值,表示已经推送成功了。

在Docker Hub上验证一下:

那么此时,就可以在别的服务器直接通过这个地址把它拉下来使用。

这对我们部署项目很有用,比如我们在很多的服务器直接docker pull我们仓库中上传的镜像,就可以直接使用。

2 Docker Registry私有镜像仓库

实际操作中,推送镜像到公共仓库是很慢的,甚至需要推送多次才能推送成功,这不利于项目的持续集成持续部署,一般我们不会使用公共仓库。

在实际成产环境中,可以搭建私有仓库使用,好处如下:

  • 私有仓库在内网,比较安全
  • 访问(上传/下载)速度快
  • 方便管理
  • 除了镜像管理以外,还可以用户管理
  • 登录权限的管理等

2.1 Docker私有仓库工作原理

假设有一个docker客户端A,将本地运行的tomcat容器进过commit、push到私有仓库,客户端B便可以直接从私有仓库拉下来,在自己的客户端运行,客户端A与客户端B跑的容器环境是一样的。

2.2 搭建Docker-registry私有仓库

养成习惯,先进行 主机规划

准备两台虚拟机

搭建步骤

docker-registry 主机上运行:

1. docker search registry

2. docker pull registry

3. 运行容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -d -v /registry:/home/docker-registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest

Tip:可以不经过第1、2步,直接docker run

查看容器运行情况:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker-registry ~]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                    NAMES
0e429bc1e3bf   registry:latest   "/entrypoint.sh /etc…"   9 seconds ago   Up 8 seconds   0.0.0.0:5000->5000/tcp   registry

在浏览器输入 http://192.168.242.218:5000/v2/ ,出现如下情况,则表示私库搭建成功。

2.3 通过私有仓库进行上传/下载

docker 主机(192.168.242.219)上操作。

按照 docker push 的标准格式-必须按照符合仓库要求的 registry_url:port/image_name:tag 的格式,通过docker tag命令来实现镜像命名,然后在push到仓库。

1. 给镜像打标签

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker tag nginx:latest 192.168.242.218:5000/nginx:pro

2. push到私有仓库

docker push 192.168.242.218:5000/nginx:pro

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker push 192.168.242.218:5000/nginx:pro
The push refers to repository [192.168.242.218:5000/nginx]
Get https://192.168.242.218:5000/v2/: http: server gave HTTP response to HTTPS client

出现这个错误的解决方法:

如果之前配置了阿里云加速器,则删除文件 /etc/docker/daemon.json,然后执行如下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "insecure-registries": ["192.168.242.218:5000"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

再来 docker push

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker push 192.168.242.218:5000/nginx:pro
The push refers to repository [192.168.242.218:5000/nginx]
4eaf0ea085df: Pushed 
2c7498eef94a: Pushed 
7d2b207c2679: Pushed 
5c4e5adc71a8: Pushed 
87c8a1d8f54f: Pushed 
pro: digest: sha256:13e4551010728646aa7e1b1ac5313e04cf75d051fa441396832fcd6d600b5e71 size: 1362

成功!再通过浏览器输入 http://192.168.242.218:5000/v2/_catalog 查看仓库列表:

3. 从私库pull镜像

先删掉本地已存在的 192.168.242.218:5000/nginx:pro 镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker rmi 192.168.242.218:5000/nginx:pro

拉取私库中的nginx镜像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker pull 192.168.242.218:5000/nginx:pro

验证拉取成功。

3 企业级开源组件Harbor

3.1 Harbor特点概括

Harbor是一个用于存储Docker镜像的企业级Registry服务。

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。

Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

3.2 环境部署

!! 网速不好或者不想下载的,可关注我的公众号 行百里er 回复 docker 下载,还有本文原创pdf及docker脑图。

1. 需要安装docker-compose

离线安装,下载地址:

https://dl.bintray.com/docker-compose/master/

下载完成,得到文件docker-compose-Linux-x86_64,重命名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
2. 离线安装harbor

下载离线安装包,下载地址从如下网址找到:

https://github.com/goharbor/harbor/releases

这里直接下载最新的 2.1.2 版本。

将文件放到合适的位置(比如/usr/local),解压:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local && tar xvf harbor-offline-installer-v2.1.2.tgz

得到harbor文件夹,进入,执行prepare:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@harbor harbor]# ./prepare 
prepare base dir is set to /usr/local/harbor
Unable to find image 'goharbor/prepare:v2.1.2' locally
v2.1.2: Pulling from goharbor/prepare
d92f685b57aa: Pull complete 
fc55d5d4818d: Pull complete 
ea8c2aea8e20: Pull complete 
3330770cd308: Pull complete 
c549bbd461f6: Pull complete 
df56c6333246: Pull complete 
ecedca2dfa64: Pull complete 
d3b48e96a07e: Pull complete 
Digest: sha256:d7959b235cbd0a357594d58c2341cb12788a388d7edacbad71095f3231cab4ca
Status: Downloaded newer image for goharbor/prepare:v2.1.2
ERROR:root:Please specify hostname
Error happened in config validation...

出现这个错误 ERROR:root:Please specify hostname,修改一下配置文件harbor.yml

再次执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@myharbor harbor]# ./prepare 
prepare base dir is set to /usr/local/harbor
ERROR:root:Error: The protocol is https but attribute ssl_cert is not set

继续修改配置文件,注释掉https:

然后继续执行prepare

prepare成功后,执行install脚本:

安装成功提示如上,查看一下docker镜像和运行的容器:

此时,我们就可以登录harbor web ui页面玩了。

用户名是admin 密码可以在 harbor.yml 配置文件中找到,默认为 Harbor12345,登录进去,可以看到一个漂亮的管理页面:

TIP:可能会遇到的问题

虚拟机关闭后再次启动,发现harbor页面打不开了,这个问题困扰了我很久,值得提一下我的解决过程。

我先进入到harbor目录,用docker-compose down && docker-compose up -d一套组合拳进行关闭harbor和重新启动harbor,再次访问,依旧不行;

然后我验证了一下该主机上的其他端口是否可以访问,于是用Docker创建了一个tomcat容器,端口映射成8081,浏览器访问之,发现也访问不了;

那么问题可以确定不是在harbor上,而是在网络上,我在启动tomcat容器的时候,有这么一个提示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@myharbor harbor]# docker run -d -p 8081:8080 tomcat
WARNING: IPv4 forwarding is disabled. Networking will not work.
73d1c0463aa2694cfa34b997b41afb86eb2e50d908b3f2e2b9588dd65181735f

WARNING: IPv4 forwarding is disabled. Networking will not work.

这个信息提醒了我,于是怀疑是IP转发功能的问题。最终解决方案如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. Linux系统缺省并没有打开IP转发功能,用如下命令确认IP转发功能的状态:

cat /proc/sys/net/ipv4/ip_forward

2. 如果发现该值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。打开IP转发功能命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

3. 使配置生效

sysctl -p /etc/sysctl.conf

4. 重启网络 & Docker

systemctl restart network && systemctl restart docker

5. 关闭harbor

cd /usr/local/harbor && docker-compose down

6. 启动harbor

docker-compose up -d

3.3 Docker镜像上传下载至Harbor私有仓库

这个和 Docker-Registry 私有仓库的操作大同小异:

  • 在Harbor管理页面创建一个项目先,这个项目也就是镜像存放的地址,镜像名称也需要用到
  • 给镜像打符合要求的标签 docker tag IP:端口/项目名称/镜像名称:tag
  • Docker客户端配置/etc/docker/daemon.json,添加insecure-registries内容
  • Docker客户端登录 docker login IP:端口 -u admin -p Harbor12345
  • docker push/pull

下面我以一个dev版本的Tomcat镜像为例。

在Docker客户端(192.168.242.217)制作一个镜像,从官方下载的Tomcat镜像,运行容器无法正常访问Tomcat首页,原因是运行的Tomcat容器内部webapps目录下没有任何内容,而是放在了webapps.dist目录下,我就以这个容器为基础,进入到容器内部,将webapps.dist的内容拷贝到webapps目录下,然后 docker commit 成一个新镜像,最后将这个新镜像提交到Harbor私有仓库。

制作镜像并打标签的主要操作命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
6c33745f49b4: Pull complete 
ef072fc32a84: Pull complete 
c0afb8e68e0b: Pull complete 
d599c07d28e6: Pull complete 
e8a829023b97: Pull complete 
d04be46a31d1: Pull complete 
db6007c69c35: Pull complete 
e4ad4c894bce: Pull complete 
248895fda357: Pull complete 
277059b4cba2: Pull complete 
Digest: sha256:57dae7dfb9b62a413cde65334c8a18893795cac70afc3be589c8336d8244655d
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
[root@docker ~]# docker run -d -p 8001:8080 tomcat:latest
56d1f7ab0b2ee95c369ff26eef99908ba256a8c6d6ba8144bd3954525381383f
[root@docker ~]# docker ps
CONTAINER ID   IMAGE           COMMAND             CREATED         STATUS         PORTS                    NAMES
56d1f7ab0b2e   tomcat:latest   "catalina.sh run"   4 seconds ago   Up 3 seconds   0.0.0.0:8001->8080/tcp   reverent_lamport
[root@docker ~]# docker exec -it 56d1f7ab0b2e /bin/bash
root@56d1f7ab0b2e:/usr/local/tomcat# cd webapps.dist/
root@56d1f7ab0b2e:/usr/local/tomcat/webapps.dist# cp -r * ../webapps/
root@56d1f7ab0b2e:/usr/local/tomcat/webapps.dist# cd ../webapps
root@56d1f7ab0b2e:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager
root@56d1f7ab0b2e:/usr/local/tomcat/webapps# exit
exit
[root@docker ~]# docker commit 56d1f7ab0b2e 192.168.242.217/xblzer/tomcat:dev
sha256:1e982d89a75763a93d902b71a76e2c43fd3d7e03a70fb0dbd3089712ca0dbaed
[root@docker ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
192.168.242.217/xblzer/tomcat   dev       1e982d89a757   4 seconds ago   653MB
tomcat                          latest    feba8d001e3f   2 days ago      649MB
xblzer/nginx                    v1        ae2feff98a0c   5 days ago      133MB
nginx                           latest    ae2feff98a0c   5 days ago      133MB

PS:这里的Tomcat是为了方便而举的例子,实际生产环境一般都是自己的应用,比如SpringBoot应用、Vue应用等构建成镜像推送到仓库。

推送主要步骤涉及的命令都在下面了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@docker ~]# vim /etc/docker/daemon.json 
[root@docker ~]# systemctl restart docker
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker login 192.168.242.217 -u admin -p Harbor12345
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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

[root@docker ~]# docker push 192.168.242.217/xblzer/tomcat:dev
The push refers to repository [192.168.242.217/xblzer/tomcat]
b64a3ca40e3a: Pushed 
ecec7e17c20b: Layer already exists 
467d4d32e8da: Layer already exists 
d2329ec79afd: Layer already exists 
998e4e1e3864: Layer already exists 
fb6f398853f5: Layer already exists 
e528f2c31deb: Layer already exists 
c5f4367d4a59: Layer already exists 
ceecb62b2fcc: Layer already exists 
193bc1d68b80: Layer already exists 
f0e10b20de19: Layer already exists 
dev: digest: sha256:00d031e1dd37cdafbd1d8ae1334b71a2e8a8280d90895fd0266654fddd314eb4 size: 2632

[root@docker ~]# docker pull 192.168.242.217/xblzer/tomcat:dev
dev: Pulling from xblzer/tomcat
Digest: sha256:00d031e1dd37cdafbd1d8ae1334b71a2e8a8280d90895fd0266654fddd314eb4
Status: Image is up to date for 192.168.242.217/xblzer/tomcat:dev
192.168.242.217/xblzer/tomcat:dev

这个时候看一下仓库:

运行一下容器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -d -p 8002:8080 192.168.242.217/xblzer/tomcat:dev

访问 http://192.168.242.219:8002

完成。


!! 首发公众号 行百里er ,欢迎老铁们关注阅读指正。代码仓库 GitHub github.com/xblzer/JavaJourney

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 行百里er 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
无服务器架构,云计算的下一个纪元
传统上,Web应用程序通常部署在Web服务器上。为了使应用程序在服务器上运行,可能需要花费数小时来下载、编译、安装、配置和连接各种组件。计算机的操作系统也需要不断进行升级和修补,以解决安全漏洞。而管理服务器是一项非常耗时的工作,通常需要专门且经验丰富的系统操作人员,这让很多工程师感觉到身心俱疲。
SDNLAB
2020/03/27
1.8K0
IaaS vs PaaS vs SaaS:应该选择哪一个?
IDC公司预测,到2020年,IaaS和PaaS支出的增长速度将超过SaaS支出。因此,SaaS支出可能会下降到公共云总收入的60%左右。 在云计算的早期阶段,企业面临的最大问题是他们是否应该使用公共云服务。如今,几乎所有的组织都在采用一些公共云服务。更重要的问题是企业应该使用哪种云服务:基础设施即服务(IaaS),平台即服务(PaaS),还是软件即服务(SaaS)。 根据调研机构IDC公司最新的全球公共云服务支出调查预测,云计算支出增长速度比整体IT支出快七倍。目前,云计算最流行的交付模式是SaaS,该交
静一
2018/06/08
2.5K0
CloudBluePrint-Chapter 1.7 : 云上应用技术架构-函数计算、Serverless、小程序
FaaS(函数即服务)、Serverless、小程序和弹性云计算的诞生可以归因于云计算发展的趋势和应用架构的演变。
行者深蓝
2023/09/01
4210
七个云计算市场趋势及其对IT的影响
由于云计算现在是IT战略的主要组成部分,IT领导者应该明智地随时了解云计算市场内产品和定价策略的变化。本文介绍了CIO们应该知道的关于云计算的最新情况。
静一
2023/10/25
2810
七个云计算市场趋势及其对IT的影响
2017 年会是 Serverless 爆发之年吗
中小型公司,尤其是互联网行业的创业公司,本身并没有太多的技术人员,如果设计系统时需要考虑诸多的技术问题,例如 Web 应用服务器如何配置、数据库如何配置、消息服务中间件如何搭建等等,那对于他们来说人员成本、系统成本会很高,Serverless 架构的出现,让这种情况可能可以大幅度改善。
Debian中国
2018/12/20
7580
云计算是什么?你现在需要知道的一切
公共云使客户无需投资新硬件或软件即可获得新功能。相反,他们向云计算提供商支付订阅费或仅为他们使用的资源付费。只需填写Web表单,用户就可以设置账户,并启动虚拟机或配置新的应用程序。
静一
2018/10/24
1K0
应用技术架构 —— 无服务器架构
2012 年,iron.io 首次提出 Serverless 概念。2014 年,AWS 发布 Lambda 开启 Serverless 商业化时代,AWS Lambda,最早被大众所认可的 Serverless 实现。随后各大云厂商争相推出自己的 Serverless 服务、框架或工具。
腾讯云 CODING
2022/03/16
2.1K0
应用技术架构 —— 无服务器架构
无服务计算的利与弊
据IBM最近的一项调查显示,无服务器的采用正在逐年增加,68% 的用户表示他们可能会在未来两年内采用无服务器架构。 乍一看“无服务器”一词可能带有一定的误导性。这并不意味着服务器不存在,而是用户不必担心后端架构或服务器,因为管理它的这部分工作转移到了服务提供商身上,它将员工从服务器管理工作和基于架构的任务中解放出来。无服务器计算和无服务器架构概念经常互换使用。 无服务器计算如何工作? 管理服务器是一个复杂的过程,通常涉及大量的工作。设置服务器并将服务器部署应用只是第一步,后续还必须对其进行监控、定期维护、配
SDNLAB
2022/03/21
3.8K0
《前端Serverless:面向全栈的无服务架构实战》-- 1.Serverless综述(笔记)
IaaS:Infrastructure as a Service,基础设施即服务。
爱学习的程序媛
2022/10/27
8930
《前端Serverless:面向全栈的无服务架构实战》-- 1.Serverless综述(笔记)
备受云厂商们推崇的 Serverless,现在究竟发展到什么水平了?
作者 | 舒超 Serverless 是什么 根据 CNCF 的定义,Serverless 的概念是指构建和运行不需要服务器管理的应用程序。它描述了一种更细粒度的部署模型,在该模型中,应用程序被捆绑为一个或多个功能,被上传到一个平台,然后根据当前所需的确切需求执行、扩展和计费。所以首先需要明确的一点是,Serverless 并非指托管和运行我们的应用程序不再需要服务器,而是指从前耗费研发和运维人员无数精力和资源的 CI/CD、服务器配置维护更新、IT 资源容量的规划和伸缩等工作,被 Serverless
深度学习与Python
2023/03/29
1.1K0
备受云厂商们推崇的 Serverless,现在究竟发展到什么水平了?
FAAS 调研笔记
功能即服务 (FAAS) 是一类云计算服务,它提供了一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础设施的复杂性。构建遵循此模型的应用程序是实现“无服务器”体系结构的一种方式,通常在构建微服务应用程序时使用。
Meng小羽
2023/02/16
2K0
Serverless安全研究 — Serverless概述
在“云”的概念还没有产生之前,开发者购买物理机,并在其上部署应用程序,企业将购买的机器放置数据中心,其网络、安全配置均需要专业的技术人员管理,在这种高成本运营模式下,虚拟化技术应运而生。
绿盟科技研究通讯
2020/09/08
2.1K0
云计算架构:Azure]比较流,逻辑应用(Logic App),函数和 WebJobs
所有这些服务都可以解决集成问题并自动化业务流程。 它们都可以定义输入、操作、条件和输出。 可以在日程安排或触发器中运行其中一个。 但是,每种服务都有其独特的优点,本文将介绍这些差异。
架构师研究会
2018/09/21
1.7K0
云计算架构:Azure]比较流,逻辑应用(Logic App),函数和 WebJobs
企业致力将工作负载迁移到理想的公共云平台
多云计算如今已成为企业热门的主题。Mesosphere公司在最新发布的调查报告表明,多云采用率将逐年翻番,越来越多的企业正在将他们的工作负载迁移到大规模生产的多云上,其中许多是容器化的微服务。
静一
2019/12/19
8410
企业致力将工作负载迁移到理想的公共云平台
物联网(IoT)的11大云平台
Thingworx是工业公司领先的物联网平台之一,可为设备提供轻松连接。它可以实现当今互联世界的体验。Thingworx 8是一个更好,更快,更容易的平台,提供构建,部署和扩展工业项目和应用程序的功能。
February
2018/12/11
18K1
无服务器的十大属性
无服务器计算或函数即服务(FaaS)正在不断,亚马逊正在通过将Lambda扩展到边缘设备和内容分发网络来推动创新。IBM, Microsoft和Google在公共云中拥有自己的FaaS产品,有超过六个开源无服务器项目正在引起开发人员的注意。预计今年将出现这一细分市场中出现的新平台。
lyb-geek
2022/03/10
1.5K0
Serverless架构:用服务代替服务器
还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了SaaS行业,并成为当今市值520亿美元的SaaS之王。今天谈谈『No Server』有关的事, 继OpenStack、Docker 、MiscroService、Unikernel、Kubernetes和Mesos之后,ServerLess正成为Google、AWS乃至创业公司暗战的新战场,它能否成为云计算领域的颠覆性趋势? 我相信大家也会存在一些疑问: Serverless到
yuanyi928
2018/04/02
3.8K0
Serverless架构:用服务代替服务器
事件驱动应用推动下一代IaaS的演进
随着IaaS市场的发展,公有云供应商的下一波竞争将并不在价格方面,而是在Web服务和事件驱动的计算上。 公有云的新范例结合了最佳的基础架构即服务、平台即服务和软件即服务,以改善供应商和用户的云业务情况
静一
2018/03/27
8790
事件驱动应用推动下一代IaaS的演进
蓄势待发的Serverless,需要关注这四个要点丨科技云·视角
无服务器架构(Serverless),与容器、微服务共同成为云计算近期最热门的技术领域和众多机构预测的未来趋势之一。
科技云报道
2022/04/14
2240
以史为镜剖析PaaS大迷局
云计算在企业级市场的战役已经打响:AWS等新兴云服务提供商已经动了传统IT巨头在企业级市场的奶酪,传统巨头们也已开始奋力反击。随着传统IT巨头的加入,PaaS市场变得比以前任何时候都更加混乱。唯一确定的共识似乎只剩下一个:大家都喜欢“Platform/平台”这个词,因为“平台”一词有无限的想象空间。 越来越多的人开始谈论和关注PaaS,包括运营商、互联网巨头、传统IT厂商、咨询和集成商、ISV、IT技术媒体等等。但是,用户对PaaS兴趣似乎不大。从最初的一致看好,到现在人们开始怀疑PaaS的未来前景,甚至一
静一
2018/03/16
1.8K0
以史为镜剖析PaaS大迷局
推荐阅读
相关推荐
无服务器架构,云计算的下一个纪元
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • Docker镜像仓库
    • 1 Docker Hub公共仓库
      • 1.1 注册Docker账号
      • 1.2 客户端登录
      • 1.3 push镜像到Docker Hub仓库
    • 2 Docker Registry私有镜像仓库
      • 2.1 Docker私有仓库工作原理
      • 2.2 搭建Docker-registry私有仓库
      • 2.3 通过私有仓库进行上传/下载
    • 3 企业级开源组件Harbor
      • 3.1 Harbor特点概括
      • 3.2 环境部署
      • 3.3 Docker镜像上传下载至Harbor私有仓库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档