今天在上新服务的时候出现在修改时区的是出现的异常,在镜像中安装tzdata时,因为没有修改源,导致下载的包是在日本的服务器上,一直卡着不动了,偶尔也能下载,但是这种不稳定的根据很是烦人,看我的报错信息如下:
13:27:04 Step 16/19 : RUN apk --update add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && apk del tzdata && rm -rf /var/cache/apk/* 13:27:04 ---> Running in 6f523388d293 13:27:04 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz 13:35:43 /tmp/jenkins4909649609623717759.sh: line 34: 28707 Terminated docker build -t ${ServiceName}-${ENV} . 13:35:43 Build was aborted
因为一直卡着不动,所以我手动关闭了,我看dl-cdn.alpinelinux.org的地址是日本的,我就把源换成阿里云的,如下:
RUN echo -e "https://mirrors.aliyun.com/alpine/v3.10/main" > /etc/apk/repositories #更换源
RUN apk --update add tzdata && \
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
apk del tzdata && \
rm -rf /var/cache/apk/*
在更新的过程中就正常了,这是修改镜像时区的第一种方式。也可以
ENV TZ="Asia/Shanghai" RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' >/etc/timezone \
第二种修改时区的方式是依据宿主机的时区映射到容器里,这样启动的容器时区就会跟着变化
#启动时加入 -v /etc/localtime:/etc/localtime
以上两种都可以修改容器的时区,个人建议还是使用第一种,因为第一种修改是修改容器本身,不受其他的影响,如果第二种宿主机的时间就不准确,容器的时间也是会受影响的。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏