要在 Docker 容器中同步宿主机的时间和时区,可以使用以下方法:
将宿主机的 /etc/localtime 文件和 /etc/timezone 文件挂载到容器中,并设置 TZ 环境变量为宿主机的时区。
使用命令行启动容器时,可以使用 -v 参数将宿主机的 /etc/localtime 和 /etc/timezone 文件挂载到容器中,并使用 -e 参数设置 TZ 环境变量为宿主机的时区。
docker run -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -e TZ=Asia/Shanghai myimage
在上面的例子中,myimage 容器的时间和时区将与宿主机同步,并设置为 Asia/Shanghai。
在 Docker Compose 文件中设置 TZ 环境变量和挂载宿主机的 /etc/localtime 和 /etc/timezone 文件。
version: '3'
services:
myservice:
image: myimage
environment:
TZ: "Asia/Shanghai"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
在上面的例子中,myservice 容器的时间和时区将与宿主机同步,并设置为 Asia/Shanghai。