修改Docker容器的時區為中國時區

森林番茄發表於2020-12-07

修改Docker容器的時區為中國時區
1、首先要確認宿主機的時區是中國時區
在建立 Docker 容器時,加上 “-v /etc/localtime:/etc/localtime:ro” 引數,讓容器使用宿主機的時間,容器時間與宿主機時間同步。比如建立一個 Tomcat 容器:
在建立Docker容器的時候,加上下面這個引數

-v /etc/localtime:/etc/localtime:ro

把本地宿主機的/etc/localtime對映到容器。
這其中ro表示這個volume是隻讀

2、如果是通過Dockerfile建立docker容器,我們也可以在Dockerfile中加上一段修改時區的程式碼,如下所示:

    && apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ 
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata 

注意我這裡的Dockerfile是alpine系統。
完整Dockerfile如下:

FROM alpine:latest
MAINTAINER autor_fangfu
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk add nodejs \
    && apk add npm \
    && apk add git \
    && apk add sysstat \
    && npm install -g typescript \
    && apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ 
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata 
#port
EXPOSE 8061

通過dockerfile建立名為test_image的image:

docker build -t test_image .

相關文章