Docker容器时区调整操作
如何检查Docker容器时区是否与宿主机一致?
1、进入宿主机, 执行以下命令:
# 查看宿主机时间
[root@localhost ~]# date
2018年 06月 27日 星期三 22:42:44 CST
2、进入到容器中,执行以下命令
# 查看容器时间
root@lksjoid909090:/#date
Wed Jul 27 14:43:31 UTC 2018
CST应该是指(China Shanghai Time,东八区时间)
UTC应该是指(Coordinated Universal Time,标准时间)
可以发现,他们相隔了8小时, 宿主机与Docker容器时区不一致。
解决方案:
1、【镜像未生产前】基础镜像 在 Dockerfile 中设置时区:
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
2、【镜像生成后 && 容器未创建】 创建并启动容器时:
# 共享主机时间
docker run --name <name> -v /etc/localtime:/etc/localtime:ro ...
3、【镜像生成后 && 容器启动】 容器外,宿主机中修改:
docker cp /etc/localtime [容器ID或者NAME]:/etc/localtime
4、【镜像生成后 && 容器启动】 容器中
apk add tzdata
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/timezone
补充知识:docker命令报错error during connect: Get http://2F2F.2Fpipe2Fdocker_engine/v1.36/containers/json: open//.
执行docker ps报错
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.36/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
报错信息如下:

解决方法
1.执行命令:
docker-machine env default

2.方法一:
将显示的命令复制出来进行执行

执行完后,再执行docker ps等命令,即可正常使用
3. 方法二:
只将最后一句
REM @FOR /f “tokens=*” %i IN (‘docker-machine env default') DO @%i
命令去掉REM进行执行,即执行
@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i

执行完后,docker命令就可以正常使用了,每新开一个cmd窗口都需要先设置环境变量。
注意:在bat脚本中使用方法二时,直接将FOR语句放入bat脚本中运行会报错,将命令中的%i改为 %%i。
以上这篇Docker容器时区调整操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的详细过程
文章介绍了如何在Docker中运行Firefox浏览器,并通过Cpolar内网穿透工具实现远程访问,步骤包括部署Firefox、本地访问、安装Cpolar、配置公网地址、设置固定二级子域名等,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧2025-02-02
Docker安装MS SQL Server并使用Navicat远程连接的操作方法
SQL Server支持广泛的应用程序开发接口(API),包括T-SQL、ADO.NET、ODBC、OLE DB等,并支持多种操作系统,包括Windows、Linux和Docker等,这篇文章主要介绍了Docker安装MS SQL Server并使用Navicat远程连接,需要的朋友可以参考下2023-06-06
docker集群Error response from daemon: rpc&
文章描述了在Docker集群中遇到的错误信息,并提供了解决办法,解决办法包括配置安全组,将Docker Swarm的所有节点IP添加到安全组中2025-01-01


最新评论