解決Docker
中容器時間不準確
dockers環境: 19.03.6
宿主機環境: Centos7
先在容器中,執行一下查看時間的命令
date
這裏,處理時間問題,可以分爲兩種
- 容器內熱修改
- 容器外冷修改
命令行輸出的時間與宿主機的時間不同,一般相差8小時(1時區)。
這個時候,處理這個時間問題,可以用好幾種方式。熱修改是需要進入容器進行修改的,冷修改是在製作容器初,就在dockerfile
文件中進行同步。
熱修改方式,如下:
timedatectl set-timezone Asia/Shanghai
clock -w
echo "Asia/Shanghai" > /etc/timezone
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
apt-get update
apt-get install -y tzdata
echo "Asia/Shanghai" > /etc/timezone
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
冷修改方式,如下:
不過在博主這推薦使用dockerfile
文件中添加指令,將外部文件拷貝到內部,或者進行修改。
Ubuntu
容器
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Centos
容器
RUN echo "Asia/shanghai" > /etc/timezone