当前位置: 首页 > news >正文

网站建设的博客做网站专业

网站建设的博客,做网站专业,免费零食网站模板,上传空间网站介绍 使用Docker开发Golang云原生应用程序,使用Golang服务和Redis服务 注:写得很详细 为方便我的朋友可以看懂 环境部署 确保已经安装Go、docker等基础配置 官网下载链接直达:Docker官网下载 Go官网下载 操作步骤 第一步 创建一个…

介绍

使用Docker开发Golang云原生应用程序,使用Golang服务和Redis服务

 注:写得很详细 为方便我的朋友可以看懂 

环境部署

确保已经安装Godocker等基础配置
官网下载链接直达:Docker官网下载         Go官网下载

操作步骤

第一步 创建一个Go应用程序

  1. 创建新Go工程,编辑main.go文件内容如下:
package mainimport ("context""fmt""github.com/go-redis/redis/v8""log""net/http"
)var ctx = context.Background() //创建一个context---用于redis操作func main() {// 第一步 设置Redis客户端client := redis.NewClient(&redis.Options{Addr: "localhost:6379", // 使用Docker服务名作为地址})//1 redis.NewClient()初始化一个新的redis客户端实例(客户端可以执行对redis各种操作)//在创建一个数据库连接时,其实是创建了一个数据库客户端实例//2 &redis.Options{}是一个结构体(包含创建redis客户端时配置信息)//3 Addr:“redis:6379” 设置redis服务端的地址(redis--服务器名/ip地址;6379--redis服务默认端口)// 第二步 确认 是否与 Redis 连接成功_, err := client.Ping(ctx).Result() //客户端 发送P ing 到服务端-->检测客户端是否与 Redis服务器 建立连接if err != nil {log.Fatalf("Could not connect to Redis: %v", err) //记录err并终止程序}//.Result() 获取Ping后的响应和错误// 第三步 1 设置HTTP服务器http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {//尝试从Redis获取值val, err := client.Get(ctx, "counter").Result() //查键counter(val:获取到的值value)//(1)无查到key(redis.Nil--特殊错误:键不存在)if err == redis.Nil {//增键counterval = "0"                                             //无计数器的值--设置为0_, err := client.Set(ctx, "counter", "1", 0).Result() //增键counter   (最后参数0:表示键不会过期)if err != nil {fmt.Fprintf(w, "Error setting value in Redis: %v", err) //错误信息写入http响应//w:HTTP响应写入器(向客户端发送响应数据) %v 格式化占位符:表示errreturn //终止函数,不再向下执行}//(2)发生错误} else if err != nil {fmt.Fprintf(w, "Error getting value from Redis: %v", err)return} else {// (3)查到key,value++newVal, err := client.Incr(ctx, "counter").Result()if err != nil { //添加计数器发生错误时fmt.Fprintf(w, "Error incrementing value in Redis: %v", err)return}val = fmt.Sprintf("%d", newVal) //更新计数器的值}fmt.Fprintf(w, "Counter value is: %s", val)})// 启动HTTP服务器log.Fatal(http.ListenAndServe(":8082", nil))
}

第二步 使用Docker编排Go应用程序和Redis服务

  1. 创建 Dockerfile文件(无文件后缀名)如图:
    在这里插入图片描述

  2. 然后编辑该文件:

FROM golang:1.16WORKDIR /appCOPY go.mod .
COPY go.sum .
RUN go mod downloadCOPY *.go .RUN go build -o /hello-redisEXPOSE 8080CMD [ "/hello-redis" ]

第三步 初始化Go模块

继续在Terminal编辑(确保还是在这个go程序的路径):

go mod init hello-redis
go mod tidy

第四步 创建并编辑docker-compose.yml文件

在文件夹下创建文件,添加内容如下:

version: '3' #docker compose的版本号#定义要运行的服务
services:#自定义应用服务app:        #定义名为app的服务build: .  #构建Dockerfile (使用 . 当前目录下的Dockerfile文件)ports:- "8082:8082" # 映射端口: 容器8082端口---映射-->宿主机8082端口depends_on:- redis       # 依赖redis服务redis:image: "redis:alpine"#使用redis的alpine镜像

第五步 构建和运行应用程序

继续在Terminal上输入代码:

docker-compose up --build

此时将会试图构建Go应用程序和Redis服务,并启动它们,在这个过程中需要等待Docker下载相应的依赖配置。

第六步 测试应用程序

使用curl访问http://localhost:8082
输入代码:

curl http://localhost:8080

这个时候会打开浏览器并访问http://localhost:8080,页面上会显示计数值

附录

比较快一点的编辑文件的方法就是使用Terminal
具体的步骤如下:(一个小案例:创建Dockerfile文件并编辑)

1. 切换到工作目录

在工作目录上右击打开Terminal

在这里插入图片描述



或者直接打开Terminal 然后输入代码切换到工作目录

cd Go应用程序的路径

在这里插入图片描述

忘记路径的时候 如何查看Go应用程序的工作路径

右击go文件夹,点击get info
在这里插入图片描述
以下信息就是go文件夹的位置
在这里插入图片描述

2. 创建文件

输入代码:

vim Dockerfile

3. 编辑文件,保存并退出

复制粘贴前文代码
在这里插入图片描述
复制粘贴好之后,直接输入代码,回车即可退出:
注意一定要是英文输入法

:wq!

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/137543/

相关文章:

  • 做移动网站首页软嘉兴seo收费
  • 免费网站推广工具WordPress4.5取消了
  • 注册域名以后怎么做网站深圳企业网站设
  • 企业网站首页布局设计wordpress 标题颜色
  • 建设银行短信开通网站在做网站的公司做网站运营犯法吗
  • 有哪些能做专门接做标书的网站wordpress股票
  • 成都网站开发企业深圳雅迅公司网站建设
  • 爱做网站免费版视频剪辑公司
  • 怎么创建自己的博客网站网站建设的公司有哪些内容
  • 微信企业微网站无锡网站关键词优化软件咨询
  • wordpress 怎么加页面网站seo检测工具
  • 衡水做wap网站价格商丘网站建设服务
  • 河南工程建设验收公示网滁州网站seo
  • 网站开发招标采购需求龙岩网站制作设计
  • 找人做网站会不会被偷走出趣网站怎么做
  • 宿舍网站建设目的深圳福田站
  • 网站的建设包括那几个模块广州市建设监理协会网站
  • 建设网站的主要流程图泉州建站费用
  • 天津做公司网站ext做的网站
  • 寿光网站开发图片制作视频的app
  • 苏州自助建站模板网站后台账号密码获取
  • 网站被百度蜘蛛爬死了dw网页制作教程主页子页
  • 移动端网站开发流程网站维护属于什么部门
  • 好的网站首页建设公司广州南沙建设和交通局网站
  • c 网站开发视频教程网站开发宣传
  • 石家庄网站建设公司排名wordpress截图
  • 番禺网站公司让php运行于wordpress
  • 焦作集团网站建设wordpress app 开发
  • 网站开发全栈教程江苏机械加工网
  • 网站开发 安全合同大冶网站建设