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

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

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

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

  3. 拉取demo代码
    git clone https://gitee.com/www.topwhere.cn/my_micro_demo.git
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第2张图片

  4. 设置当前项目的GOPATH

  5. 设置GO Modules
    GOPROXY=https://goproxy.cn微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第3张图片

  6. 到这代码拉取成功, 本机的go版本是1.15,不确定当前使用的版本是多少,得要先一致go.mod的版本,记得要重新打开terminal
    之后执行 cd my_micro_demo 到my_micro_demo目录下,这个是工作目录
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第4张图片

  7. 加载需要的依赖包,因为go.mod文件已经存在,不需要重新创建,直接执行
    go mod tidy
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第5张图片
    这个时候就会根据go.mod文件取下载需要的依赖包
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第6张图片
    加载需要时间,请耐心等待
    如果加载完还是报错或者不走mod配置可以重新打开项目,或者鼠标悬浮右上角的这个位置改成syntax
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第7张图片
    到这项目部署完成了

  8. 执行 make init
    这步会根据Makefile里内容下载开发过程中需要的工具
    相当于为后续开发做准备吧,执行成功后会在项目根目录下多出以下文件
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第8张图片

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

执行成功后执行会生成如下文件
微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第9张图片

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

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

这时镜像已经打包成功
执行 docker images 可以查看本机器存在镜像,这个就是打包好的镜像
微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第11张图片

  1. 执行 docker run user
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第12张图片
    因为数据库已存在表,下面两条报错事创建表的错误信息,无影响,这时之前搭建好的注册中心会发现增加了下面这么一条数据
    注册中心微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第13张图片
    说名这个镜像打包成功,可以执行
  2. 接下来要做的事把这个镜像打包推送到自身版本库
    首先执行
    docker login
    输入账号密码,登陆自身docker账号微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第14张图片
    之后执行
    docker tag 6e0bdbbe35e9 wangzhe9527/user:v1.0.1
    这段命令结构是这个样子
    docker tag 【源镜像ID】【自身用户名】/【自身镜像】:【版本号】微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第15张图片
    这时执行docker images,回发现多出以下镜像
    在这里插入图片描述
    之后执行
    docker push wangzhe9527/user:v1.0.1
    这个结构是
    docker push 【账号名】/【镜像名】:【版本号】
    在这里插入图片描述
    到这里,镜像已经推送到自身的镜像仓库了
    登陆docker镜像官网
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第16张图片
    这个就是刚刚推送上来的镜像
  3. 使用
    登陆服务器
    执行 docker pull wangzhe9527/user:v1.0.1
    在这里插入图片描述
    执行docker images
    找到刚刚拉取下的镜像的id
    执行 docker run -d 6e0bdbbe35e9
    这里只是做个测试,执行了三次,启动了三个
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第17张图片
    这是返回注册中心发现已经成功添加至注册中心
    微服务架构(从无到有)二.程序实现(1)goland本地环境搭建部署,go服务封装docker镜像,服务添加至注册中心_第18张图片

你可能感兴趣的:(解决方案,Docker搭建的项目,流程梳理,学习笔记,经验分享)