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

docker部署go简单web项目(无mysql等附加功能)

首先准备好go语言代码

代码表示当访问主机上8080端口下的/hello路径时,会返回hello,world。

package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
)

type hh struct {
	S string
}

func main() {
	router := gin.Default()
	router.GET("/hello", func(c *gin.Context) {
		c.JSON(200, hh{S: "hello world!"})
	})

	err := router.Run(":8080")
	if err != nil {
		fmt.Println(err)
		return
	}

}

准备Dockerfile文件

FROM golang:1.23

# 为我们的镜像设置必要的环境变量
ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64 \
    GOPROXY=https://goproxy.io,direct

# 移动到工作目录:/app/demo3
WORKDIR /app/demo3

# 先复制 go.mod 和 go.sum 文件
COPY go.mod go.sum ./

# 下载依赖
RUN go mod download

# 将剩余代码复制到容器中
COPY . .

# 编译 Go 代码,指定输出文件名为 main
RUN go build -o main main.go

# 声明服务端口
EXPOSE 8080

# 启动容器时运行的命令
ENTRYPOINT ["./main"]

注意第一行基础镜像的版本要和你项目所用的go版本相同在这里插入图片描述
在这里插入图片描述

将以下文件放入宿主机中

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

构建镜像

首先在宿主机上进入Dockerfile文件所在的目录,然后输入以下命令开始构建镜像 。 注意 -t 后跟的是镜像名,是自定义的,可以不和我一样。

docker build -t demo3image .

输入完成后等待构建成功即可,构建不会很快,我这里等了大概有十多分钟。
在这里插入图片描述

创建并运行容器

镜像前面创建好了,我们现在要让镜像在容器里跑起来,输入下方指令即可。–name 后的demo3表示容器名称,可以自定义。

docker run -d --name demo3 -p 8080:8080 dem03image

在这里插入图片描述

添加安全组

我用的服务器是阿里云的,以下是配置阿里云服务器安全组的步骤
在这里插入图片描述

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

验收结果

在这里插入图片描述


http://www.kler.cn/a/566764.html

相关文章:

  • React组件化深度解析(二):从受控组件到生命周期现代化
  • 【Wireshark 02】抓包过滤方法
  • 三十、Helm和Operator
  • PDF文档中表格以及形状解析
  • 密码学(哈希函数)
  • 3-4 WPS JS宏 工作表的新建、删除与错务内容处理(批量新建工作表)学习笔记
  • 【考试大纲】高级系统架构设计师考试大纲
  • uniapp中使用leaferui使用Canvas绘制复杂异形表格的实现方法
  • Angular从入门到精通教程篇章
  • 多个pdf合并成一个pdf的方法
  • MySQL当中的Lock
  • Gatling介绍
  • k8s出问题后 应该查看哪些内容
  • 【Leetcode 每日一题】2353. 设计食物评分系统
  • Netty为什么性能很高?
  • Android Logcat 高效调试指南
  • SVT-AV1接入ffmpeg说明
  • PostgreSQL中的外键与主键
  • Lucene硬核解析专题系列(二):索引构建的底层实现
  • 后端返回文件流,前端导出excel文件