失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > golang Docker基础镜像 应用镜像的Dockerfile编写测试流程

golang Docker基础镜像 应用镜像的Dockerfile编写测试流程

时间:2022-04-03 01:21:07

相关推荐

golang Docker基础镜像 应用镜像的Dockerfile编写测试流程

首先建议直接放弃alpine:关于docker:如何安装Go in alpine linux | 码农家园 ()

1 准备基础镜像Dockerfile 根据golang:1.16 的debian系统自己制作

FROM golang:1.16#维护人员MAINTAINER Lvv <123@>ENV TZ=Asia/Shanghai \DEBIAN_FRONTEND=noninteractiveRUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \&& echo ${TZ} > /etc/timezone \&& dpkg-reconfigure --frontend noninteractive tzdata \&& rm -rf /var/lib/apt/lists/*#更新alpine,并安装curl bash bash-doc bash-completionRUN apt-get update \&& apt-get install net-tools \&& apt-get clean

docker build -t golang:1.16-debian .

运行下测试时区:

[root@docker-cs3 go]# docker run -it --rm golang:1.16-debian /bin/sh

# date

Fri Oct 8 22:12:19 CST

# netstat -tunl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local AddressForeign AddressState

推送到自己的harbor仓库:

docker login -u xxx -p xxx

[root@docker-cs3 go]# docker tag golang:1.16-debian /base/debian-golang:1.16

[root@docker-cs3 go]# docker push /base/debian-golang:1.16

2 使用基础镜像编写golang应用的Dockerfile

FROM /base/debian-golang:1.16ENV GO111MODULE=on \GOPROXY=,direct \GIN_MODE=releaseWORKDIR /opt/microserviceCOPY . .RUN go build .EXPOSE 8090ENTRYPOINT ["./gin-k8s"]

构建:

docker build -t gin-k8s:0.1 .

测试:

[root@docker-cs3 gin-k8s]# docker run -it --rm -p 8090:8090 gin-k8s:0.1 /bin/bash

数据库连接成功 0x25e4f98

使用日志中间件

创建目录成功

/opt/microservice/logs/access.log

常备命令: 有时候build失败,根据失败前的镜像id /bin/bash进去查看镜像情况:

docker run -it --rm f1a3b860ed6e /bin/bash

如果觉得《golang Docker基础镜像 应用镜像的Dockerfile编写测试流程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。