首页 > 其他分享 >使用Dockerfile部署go项目

使用Dockerfile部署go项目

时间:2024-05-29 16:56:48浏览次数:12  
标签:部署 app dev build go docker main Dockerfile

主旨就是先拉代码,再删旧容器和镜像,再起Dockerfile的容器并执行出go的二进制文件,再运行

Dockerfile文件如下

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

# 移动到工作目录:/build
WORKDIR /build

# 将代码复制到容器中
COPY ./gin-service .

# 将我们的代码编译成二进制可执行文件app
RUN go build -o app .

# 移动到用于存放生成的二进制文件的 /dist 目录
#WORKDIR /app
#RUN apk add bash
# 将二进制文件从 /build 目录复制到这里
#COPY ./main-dev .


#ADD ./main-dev  $WORKDIR/main-dev
#RUN chmod +x $WORKDIR/main-dev


# 声明服务端口
EXPOSE 13001

# 启动容器时运行的命令
#CMD ["/app/main-dev"]
#ENTRYPOINT ["/build/app"]

step.sh文件如下

#!/bin/bash
git pull
docker stop go-container
docker rm go-container
docker rmi go-image
go build -o main-dev
docker build . -t go-image
docker run -dit --name go-container --privileged=true -p 13001:13001 go-image

ps:中间遇到只要拷贝二进制文件到容器,然后到容器里面就找不到这个文件,我的项目简单就先用本地go环境了

标签:部署,app,dev,build,go,docker,main,Dockerfile
From: https://www.cnblogs.com/warrenwt/p/18220637

相关文章

  • MongoDb索引
    MongoDb索引数据库索引类似于图书索引。有了索引便不需要浏览整本书,而是可以采取一种快捷方式,只查看一个有内容引用的有序列表。这使得MongoDB的查找速度提高了好几个数量级。不使用索引的查询称为集合扫描,这意味着服务器端必须“浏览整本书”才能得到查询的结果。MongoDB如......
  • Google使用AI改进了 Sheets;开源视觉语言模型llama3v;开源情绪语音模型ChatTTS;
    ✨1:GooglehasimprovedSheetswithAI.Google使用AI改进了Sheets您可以使用Gemini处理您的数据并将其变成老师。优化您的数据Gemini了解您的数据并提出改进建议。例如,它可以将重复数据转换为更实用的下拉框。解释数据通过单击双子座图标,您可以自动获......
  • 【go】【gomail】
    @目录写在前面installgomail参考资料基础/标准库/第三方库golang导航编程规范算法|面试项目写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。installgogetgopkg.in/gomail.v2g......
  • 逆向海淘商业模式案例分析 :hagobuy淘宝代购集运系统丨淘宝代购集运系统搭建
    淘宝代购集运系统是一个电子商务平台,它允许消费者购买来自不同在线零售商(如淘宝、天猫、京东等)的商品,并将这些商品统一运送到消费者的地址。下面将探讨淘宝代购集运系统的工作机制和优势:多平台API接口的集成实时数据同步:通过API接口,系统能够实时获取并同步电商平台上商品......
  • mongo db
    importrequestsimportpymongofromlxmlimportetreeclassHoust(object):def__init__(self):self.url="https://cs.lianjia.com/ershoufang/"self.headers={"User-Agent":"Mozilla/5.0(WindowsNT10......
  • TinaLinux 开机logo替换
    TinaLinux开机logo替换操作平台T113-S3Tina5.0spi-nandubi方案文章目录TinaLinux开机logo替换前言一、重新打包方案二、后期替换/应用层替换1.准备的新的logo文件2.查看分区(可以省略,只是为了了解)3.替换logo文件总结前言提示:这里可以添加本文要记录的大概内......
  • Windows和Linux系统部署Docker(2)
    目录一、Linux系统部署docker前置环境:1.安装需要的软件包,yum-util提供yum-config-manager功能2.添加阿里云docker-ce 仓库3.安装docker软件包4.启动docker并设置开机自启5.查看版本:二、windows系统部署docker1.查看是否拥有bioss虚拟化功能2.开启虚拟化功能3.......
  • 2024-05-29:用go语言,给定一个只包含正整数的数组 nums,任务是通过多次操作最小化数组的
    2024-05-29:用go语言,给定一个只包含正整数的数组nums,任务是通过多次操作最小化数组的长度。每次操作可以从数组中选择两个不同的下标i和j,使得nums[i]和nums[j]均为正整数。然后,将nums[i]除以nums[j]的余数插入数组末尾,同时删除原始的两个元素。最终要求计算进行操作......
  • Go--生成excel表格,循环赋值并避免重复项
    先下载第三方依赖包:goget-ugithub.com/xuri/excelize/v2 假设原数据格式为:typeDatastruct{PsastringGroupstringOperatorstring} 将数据插入新生成的execl表格中,并且当group值相同时,只更新该group的operator值,即最终数据中,group没有......
  • clickhouse安装部署
    clickhouse安装部署下载地址:百度网盘下载链接:https://pan.baidu.com/s/1YdGmhGND5qA3qzBpRQaI1w提取码:sybkclickhouse-common-static-21.9.4.35.tgzclickhouse-common-static-dbg-21.9.4.35.tgzclickhouse-server-21.9.4.35.tgzclickhouse-client-21.9.4.35.tgz安装:......