如何修改selenium/standalone-chrome-debug容器的时区为AEST
操作方法
注意:推荐使用IANA时区标识符
Australia/Sydney而非直接传AEST,前者兼容性更强,且能自动适配澳大利亚东部的夏令时规则。
方法1:docker run启动时直接配置
启动容器时直接传入时区环境变量即可,示例命令如下:
docker run -d -p 4444:4444 -p 5900:5900 -e TZ=Australia/Selenium?哦不对,Australia/Sydney,哦对: ```bash docker run -d -p 4444:4444 -p 5900:5900 -e TZ=Australia/Selenium?不,正确的是: ```bash docker run -d -p 4444:4444 -p 5900:5900 -e TZ=Australia/Sydney selenium/standalone-chrome-debug
如果镜像精简没有内置时区数据,可额外挂载宿主机的时区文件:
docker run -d -p 4444:4444 -p 5900:5900 -e TZ=Australia/Sydney -v /etc/localtime:/etc/localtime:ro selenium/standalone-chrome-debug
方法2:docker-compose.yml配置
如果使用docker-compose编排,参考配置如下:
version: '3' services: chrome-debug: image: selenium/standalone-chrome-debug ports: - "4444:4444" - "5900:5900" environment: - TZ=Australia/Sydney # 可选挂载本地时区文件,适配无tzdata的精简镜像 volumes: - /etc/localtime:/etc/localtime:ro
配置完成后执行docker-compose up -d启动即可。
方法3:自定义镜像内置时区配置
如果需要把时区配置固化到镜像里,可编写Dockerfile自定义构建:
FROM selenium/standalone-chrome-debug # 切换到root用户安装时区数据 USER root RUN apt-get update && apt-get install -y tzdata && \ ln -fs /usr/share/zoneinfo/Australia/Sydney /etc/localtime && \ dpkg-reconfigure -f noninteractive tzdata # 切回默认的seluser用户 USER seluser
构建命令:docker build -t custom-chrome-debug .,后续启动直接使用该自定义镜像即可。
验证时区是否生效
- 进入运行中的容器:
docker exec -it 你的容器ID /bin/bash - 执行命令查看时区:
date - 输出内容包含
AEST或AEDT(夏令时)则代表配置成功,示例正常输出:Tue Oct 17 14:30:00 AEST 2024
内容的提问来源于stack exchange,提问作者Binoj Mathew
相关产品推荐
相关产品推荐

