Golang web部署到docker

在基础docker镜像部署go开发环境

  • docker pull ubuntu //拉取ubuntu最新image

  • docker run -it ubuntu bash //交互式进入容器

  • 官网下载go tar包 https://golang.google.cn/doc/install

  • rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz

  • echo -e “export GO111MODULE=on\nexport GOPROXY=https://goproxy.cn,direct\nexport PATH=$PATH:/usr/local/go/bin” >> ~/.bashrc

保存工作环境

  • 在另一个终端外执行 docker commit -m “first docker” -a “test1”(自定义) f60ec72c8729(容器编号) ubuntu1(自定义)

在go项目所在目录编写Dockerfile,make_image.sh,run_image.sh文件

$ cat Dockerfile

FROM ubuntu-go #基础镜像文件

MAINTAINER Mamahh #维护人员姓名

WORKDIR /upload #工作目录,对应docker环境目录

ADD * ./ #拷贝文件到upload

ADD static /upload/static #**注意:拷贝目录需要在被拷贝路径添加目录名称**

ADD tmpfile /upload/tmpfile

RUN /usr/local/go/bin/go mod download

RUN /usr/local/go/bin/go build -o main main.go

EXPOSE 8080 #暴露8080端口

CMD ["./main"] #运行程序
$ cat make_image.sh

docker build -t mamahh-go(新镜像名) .
$ cat run_image.sh

docker run -p 8080:8080 mamahh-go  

!!!注意:为了保证docker端口被重置,main.go路由启动时候不要指定端口,直接在Dockerfile的EXPOSE定义即可

执行make_image.sh 生成mamahh-go的新docker镜像

执行run_image.sh 以8080端口运行mamahh-go的镜像

本地访问127.0.0.1:8080/xxx 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值