Windows 10 系統, 修改Docker容器系統時間區域,


運行環境,windows 10 , dockerdesktop 最新版。 遇到兩情況;

情況1: 系統有zoneinfo信息,(拉取redis, 並修改用redis 制作鏡像里的系統時間。)

情況2:系統沒有zoneinfo信息,(容器是:ubuntu 18, 沒有zoneinfo數據)

 

情況1:
拉取 redis

docker pull redis

創建dockerfile文件

FROM redis

# 系統時間
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

# 復制宿住的配置文件
COPY redis.conf /usr/local/etc/redis/redis.conf

CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]

在dockerfile 文件里加上下面這行命令即可。前提是容器里有 zoneinfo 數據。如果沒有,需要安裝ztData. 具體代碼在文章尾部

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

制作 image

docker build -t ims.redis .

運行 image

docker run -p 6379:6379 ims.redis

查看 Container id

docker ps

進入運行的image(945c9948ab07 即是container id)

docker exec -it 945c9948ab07 /bin/bash

查看當前時間

 

情況2 :

如果容器沒有zoneinfo 文件,需要下載,Dockerfile 代碼如下:

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get clean
RUN apt-get update && apt-get install -y tzdata
ENV TZ=Asia/Shanghai
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN echo $TZ > /etc/timezone
RUN dpkg-reconfigure -f noninteractive tzdata

 結果

# date
Sun Sep 27 11:31:39 CST 2020
#

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM