今天把golang后端接口使用docker打包,在运行接口,录入数据库时,发现在容器中读取的时间跟服务器的时间相差8小时,不一致!
我一开始的解决办法是在golang中设置中国上海的时间区,后来发现根本没用。
后来发现容器中也是有自己的时间区的,所以思路就是:在打包的时候设置时间区
编辑golang项目的Dockerfile文件时
#引入基本的镜像
FROM golang:alpine as build-env
# 为我们的镜像设置必要的环境变量
ENV GOPROXY=https://goproxy.cn \
GO111MODULE=on \
CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
#把当前所有的内容添加到镜像的www123文件夹下
ADD . /test
# 进入镜像的test文件夹下,将我们的代码编译成二进制可执行文件app
RUN cd /test && go build -o www123exe .
#分阶段,减少体积
FROM alpine
#设置时间
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add --no-cache tzdata \
&& ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
WORKDIR /test
COPY --from=build-env /test/testexe /test
ADD . /test
# 暴露服务端口
EXPOSE 6666
#启动点
ENTRYPOINT ./test
#运行Dockerfile文件,生成镜像文件
docker build -f Dockerfile -t test:v1 .
#运行镜像文件
docker run -d -p 7777:6666 test:v1 .
✨ 踩坑不易,还希望各位大佬支持一下 \textcolor{gray}{踩坑不易,还希望各位大佬支持一下} 踩坑不易,还希望各位大佬支持一下
📃 个人主页: \textcolor{green}{个人主页:} 个人主页: 沉默小管
📃 个人网站: \textcolor{green}{个人网站:} 个人网站: 沉默小管
📃 个人导航网站: \textcolor{green}{个人导航网站:} 个人导航网站: 沉默小管导航网
🔥 技术交流 Q Q 群: 837051545 \textcolor{green}{技术交流QQ群:837051545} 技术交流QQ群:837051545
👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!
如果有不懂可以留言,我看到了应该会回复
如有错误,请多多指教