《实战 Istio入门与实战》—2.3 应用的构建

举报
华章计算机 发表于 2019/06/20 15:42:41 2019/06/20
【摘要】 本节书摘来自华章计算机《实战 Istio入门与实战》一文中的第2章,第2.3节,作者是毛广献。

2.3 应用的构建

       如果只是跟着本书做实验,本节可以跳过,本节属于应用镜像构建部分,不会影响后面的Istio实验。了解本节内容需要掌握Docker的基础知识。

       由于本书的实验重点在于如何使用Istio,如何使用本地Docker私有镜像仓库部署服务并不是我们关注的重点,所以本书实验所使用的镜像均采用阿里云镜像服务免费提供的镜像构建功能。当然,你也可以使用Docker Hub提供的镜像构建功能。下面以阿里云镜像服务为例实现镜像构建,具体步骤如下。

1.构建应用镜像

(1)上传代码到GitHub

       此步骤不做详细说明,请参考相关文档了解Git和GitHub的基本使用。

(2)在阿里云上的镜像构建

       阿里云镜像服务地址:https://cr.console.aliyun.com/,如下操作均在这个链接的Web上进行。

1)创建命名空间。

       命名空间不能重复,请注意修改命名空间名称,如图2-2所示,可创建名为istio-lab的命名空间。

image.png

图2-2 创建命名空间

2)创建镜像仓库。

       选择命名空间为上个步骤中创建的命名空间,填写要创建的镜像仓库名和简介,如service-go。注意选择仓库类型为公开,如图2-3所示。

       选择已经绑定的GitHub账号和要构建的源码仓库,由于构建时需要访问国外资源,因此勾选使用海外机器构建,并取消“选择代码变更时自动构建镜像”(如果首次使用需要先绑定GitHub账号),如图2-4所示。

image.png

图2-3 创建镜像仓库(一)

image.png

图2-4 创建镜像仓库(二)

3)添加镜像构建规则。

       选择要构建规则的镜像仓库,并点击“管理”按钮,出现如图2-5所示的界面。

image.png

图2-5 添加镜像构建规则(一)

       选择“构建”选项卡上的“添加规则”按钮,添加镜像构建规则,如图2-6所示。

image.png

图2-6 添加镜像构建规则(二)

        添加如图2-7所示的版本构建规则,实验中会使用两个版本,因此需要创建两个版本的构建规则。

image.png

图2-7 添加镜像构建规则(三)

4)构建镜像。

        点击“立即构建”按钮开始构建,如果构建失败,可以通过点击日志链接查看构建日志,找出失败原因,如图2-8所示。

image.png

图2-8 构建镜像

2. 本地拉取镜像验证

        镜像构建完成后,拉取到本地测试镜像是否能正常工作。具体步骤如下。

1)拉取镜像:

$ sudo docker pull registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1

v1: Pulling from istio-lab/service-go

4fe2ade4980c: Already exists 

7eb00a8eb80c: Already exists 

1ed92905e9ab: Pull complete 

Digest: sha256:fffe0f892ed657952afcc4bd07216fe5e30e27fae014a3c81220368cccbbd161

Status: Downloaded newer image for registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1

2)启动容器:

$ sudo docker run -d --name service-go-v1 \

-p 8000:80 registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1

e936daf6ccdcdcca811369fe19f6163559a4e796f6971c063cc83a05e386c2fe


$ sudo docker ps | grep service-go-v1

e936daf6ccdc        registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1             "./app"                  13 seconds ago      Up 12 seconds       0.0.0.0:8000->80/tcp   service-go-v1

3)访问测试:

$ curl 127.0.0.1:8000/env

{"message":"go v1"}

4)清理:

$ sudo docker stop service-go-v1

service-go-v1


$ sudo docker rm service-go-v1

service-go-v1


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。