将Golang Gin框架项目发布到Docker
首先在本地编译项目
1. 在 项目目录下
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go
这样在main.go同目录下会生产main二进制文件
2. Dockerfile 文件配置
FROM scratch
MAINTAINER "lyh"
WORKDIR .
COPY . .
EXPOSE 6080
CMD ["./main"]
注意 : 上面的Dockerfile里的端口最好和下面main文件监听的端口一致
3. 将项目下的前端文件目录(包含view文件夹、script文件夹、static文件夹… 即所有与前端相关的文件夹)和生成的二进制mian文件 和 Dockerfile文件进行压缩上传到CentOS
4.通过 rz 上传ginnewio.zip 到CentOS
5. 解压文件 unzip -o ginnewio.zip -d /home/ginnewio
6. 进入ginnewio文件夹 cd ginnewio 修改main二进制文件权限
chmod -R 777 main
7. 创建镜像 (注意最后一个点)
docker build -f /home/ginnewio/Dockerfile -t ginnewio .
8. 运行容器
docker run -d -p 6080:6080 --name ginnewio ginnewio
9.如果报错 docker: Error response from daemon: driver failed programming external connectivity on endpoint ginnewio (…
重启 docker
systemctl restart docker
再启动容器
docker start 426b62dfc3a18c68a2
10.结果可以通过crul http://localhost:6080/hello查看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!