详细介绍了Docker容器时区调整的实际 *** 作,具有很好的实用价值,希望对大家有所帮助。跟我回去看看。
如何检查Docker容器时区是否与主机一致?
1、进入主机,执行以下指令:
#查询主机时间
[root@localhost~]#date
美国中部时间2018年6月27日星期三22:42:44
2、进入容器,执行以下指令
#查询容器时间
root@lksjoid909090:/#date
世界协调时2018年7月27日星期三14时43分31秒
CST应该是指(中国上海时间,东八区时间)
UTC的意思应该是(协调世界时)
可以发现两者相隔8个小时,主机和Docker容器的时区不同。
解决方案:
1.[制造镜像系统之前]在Dockerfile中为基本镜像系统设置时区:
环境TZ=亚洲/上海
运行ln-SNF/usr/share/zoneinfo/$TZ/etc/localtime&;&回声$TZ>;/etc/timezone
2.[镜像系统形成后&;容器未建立]当容器建立并启动时:
#共享主机时间
docker运行名称<名称>-v/etc/localtime:/etc/localtime:ro...
3.[镜像系统形成后&;容器启动]容器外部和主机中的变化:
dockerCP/etc/localtime[容器ID或名称]:/etc/localtime
4.[镜像系统形成后&;容器启动]在容器中
apk添加tzdata
ln-SF/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeecho"Asia/Shanghai">;/etc/timezone
填写专长:连接时docker指令错误:gethttp://2f2f.2fipe2fDocker_engine/v1.36/containers/JSON:open//。
实现dockerps时出错
连接时出错:Gethttp:////。/pipe/docker_engine/v1.36/containers/JSON:open//。/pipe/docker_engine:系统找不到指定的文件。在Windows的默认守护程序配置中,docker客户端必须以提升的权限运行才能连接。此错误也可能表示docker守护程序没有运行。
错误消息如下所示:
溶液
1。运行命令:
docker-机器环境默认值
2。模式1:
抄写显示信息的说明,并执行。
实现后,再实现dockerps等指令,都可以正常应用。
3。模式2:
只有最后一句
REM@FOR/f"tokens=*"%IIN('docker-machineenvdefault')DO@%I
指示REM移除并执行,即执行。
@FOR/f"tokens=*"%IIN('docker-machineenvdefault')DO@%I
实现后,docker命令可以正常应用,对于每个新的cmd窗口,必须先设置系统变量。
注意:在bat脚本中 *** 作方法2时,立即将FOR语句放入bat脚本会导致错误。将指令中的%i改为%%i。
Docker容器时区调整的这个实际 *** 作就是我全部分享给你的。期待给你一个参考,也期待你的申请。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)