微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心

解决方案 专栏收录该内容
11 篇文章 1 订阅

一.在服务器目录拉取预先封装好的demo程序。

  1. 本地开发环境部署
    部署本地goland环境

  2. 创建个项目
    在这里插入图片描述

  3. 拉取demo代码
    git clone https://gitee.com/www.topwhere.cn/my_micro_demo.git
    在这里插入图片描述

  4. 设置当前项目的GOPATH
    在这里插入图片描述

  5. 设置GO Modules
    GOPROXY=https://goproxy.cn在这里插入图片描述

  6. 到这代码拉取成功, 本机的go版本是1.15,不确定当前使用的版本是多少,得要先一致go.mod的版本,记得要重新打开terminal
    之后执行 cd my_micro_demo 到my_micro_demo目录下,这个是工作目录
    在这里插入图片描述

  7. 加载需要的依赖包,因为go.mod文件已经存在,不需要重新创建,直接执行
    go mod tidy
    在这里插入图片描述
    这个时候就会根据go.mod文件取下载需要的依赖包
    在这里插入图片描述
    加载需要时间,请耐心等待
    如果加载完还是报错或者不走mod配置可以重新打开项目,或者鼠标悬浮右上角的这个位置改成syntax
    在这里插入图片描述
    到这项目部署完成了

  8. 执行 make init
    这步会根据Makefile里内容下载开发过程中需要的工具
    相当于为后续开发做准备吧,执行成功后会在项目根目录下多出以下文件
    在这里插入图片描述

  9. 编译
    make build //这个是基于Makefile来执行的

执行成功后执行会生成如下文件
在这里插入图片描述

这时可以看到多出一个user文件,这个就是编译完的可执行文件
(封装好的编译命令 是 基于 linux/amd64 的,如果想本地调试或者编译,根据环境来执行)
接下来要做的就是把这个程序封到docker里面去
11. 打包镜像

执行 make docker
在这里插入图片描述

这时镜像已经打包成功
执行 docker images 可以查看本机器存在镜像,这个就是打包好的镜像
在这里插入图片描述

  1. 执行 docker run user
    在这里插入图片描述
    因为数据库已存在表,下面两条报错事创建表的错误信息,无影响,这时之前搭建好的注册中心会发现增加了下面这么一条数据
    注册中心在这里插入图片描述
    说名这个镜像打包成功,可以执行
  2. 接下来要做的事把这个镜像打包推送到自身版本库
    首先执行
    docker login
    输入账号密码,登陆自身docker账号在这里插入图片描述
    之后执行
    docker tag 6e0bdbbe35e9 wangzhe9527/user:v1.0.1
    这段命令结构是这个样子
    docker tag 【源镜像ID】【自身用户名】/【自身镜像】:【版本号】在这里插入图片描述
    这时执行docker images,回发现多出以下镜像
    在这里插入图片描述
    之后执行
    docker push wangzhe9527/user:v1.0.1
    这个结构是
    docker push 【账号名】/【镜像名】:【版本号】
    在这里插入图片描述
    到这里,镜像已经推送到自身的镜像仓库了
    登陆docker镜像官网
    在这里插入图片描述
    这个就是刚刚推送上来的镜像
  3. 使用
    登陆服务器
    执行 docker pull wangzhe9527/user:v1.0.1
    在这里插入图片描述
    执行docker images
    找到刚刚拉取下的镜像的id
    执行 docker run -d 6e0bdbbe35e9
    这里只是做个测试,执行了三次,启动了三个
    在这里插入图片描述
    这是返回注册中心发现已经成功添加至注册中心
    在这里插入图片描述
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

天意~

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值