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

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



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

FROM golang:1.16

#维护人员
MAINTAINER Lvv <123@qq.com>


ENV TZ=Asia/Shanghai \
    DEBIAN_FRONTEND=noninteractive

RUN 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-completion
RUN 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 2021
# netstat -tunl                                                                 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State   


推送到自己的harbor仓库:
 docker login -u xxx -p xxx myhub.mydocker.com

[root@docker-cs3 go]# docker tag  golang:1.16-debian myhub.mydocker.com/base/debian-golang:1.16
[root@docker-cs3 go]# docker push myhub.mydocker.com/base/debian-golang:1.16

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

FROM  myhub.mydocker.com/base/debian-golang:1.16

ENV GO111MODULE=on \
    GOPROXY=https://goproxy.cn,direct \
    GIN_MODE=release

WORKDIR /opt/microservice

COPY . .

RUN go build .

EXPOSE 8090

ENTRYPOINT ["./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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_36013896

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值