Docker容器时区调整操作

 更新时间:2020-11-21 21:08:13   作者:佚名   我要评论(0)

如何检查Docker容器时区是否与宿主机一致?
1、进入宿主机, 执行以下命令:

# 查看宿主机时间
[root@localhost ~]# date
2018年 06月 27日 星期三 22:42:44 CST

如何检查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的MySQL容器时区问题修改
  • 创建的docker容器时间显示错误/date错误/时区错误
  • 解决docker run 或者 docker restart 启动镜像就自动退出
  • 利用nexus作为私库进行代理docker,进行上传和下载镜像操作
  • docker 连接宿主Mysql操作
  • Docker 使用nsenter工具进入容器的操作
  • docker 在容器外执行某个容器内的某个命令操作

相关文章

  • Docker容器时区调整操作

    Docker容器时区调整操作

    如何检查Docker容器时区是否与宿主机一致? 1、进入宿主机, 执行以下命令: # 查看宿主机时间 [root@localhost ~]# date 2018年 06月 27日 星期三 22:42:44 CST
    2020-11-21
  • python遍历路径破解表单的示例

    python遍历路径破解表单的示例

    首先是利用python遍历路径,采用字典爆破的形式,当然如果只是单纯的爆破路径,简单写一个多线程脚本就行了。这里考虑如何对爆破到的路径进行第二步利用,此处尝试对
    2020-11-21
  • Docker 使用nsenter工具进入容器的操作

    Docker 使用nsenter工具进入容器的操作

    在使用Docker容器的时候,利用nsenter工具会比较方便,如果我们的系统没有的话,那就需要我们自己来安装了 1.首先访问该网址找到最新版本的nsenter工具 2.然后下载
    2020-11-21
  • 解决Docker中的error during connect异常情况

    解决Docker中的error during connect异常情况

    刚开始接触Docker,遇到异常问题难免会手忙脚乱。没事的,学习就是这样子,在困难中不断地找到解决问题的方法,贵在坚持,加油! 来了来了,问题来了,不要慌,看下
    2020-11-21
  • docker内网搭建dns使用域名访问替代ip:port的操作

    docker内网搭建dns使用域名访问替代ip:port的操作

    比如我内网有个jenkins,我如果要访问它我得牢牢记住它的ip和端口,一个服务我还能记住,多个的话我可能需要一个方便记忆的域名记录一些内网服务 第1步: 准备好doc
    2020-11-21
  • Docker 拉取镜像及标签操作 pull | tag

    Docker 拉取镜像及标签操作 pull | tag

    重翻Fabric项目的源码,发现Docker部分内容,有很多不尽理解的地方,看着看着,就看到使用docker pull拉取Fabric镜像及使用docker tag为镜像重命名,稍作思虑,发现
    2020-11-21
  • python 实现性别识别

    python 实现性别识别

    使用keras实现性别识别,模型数据使用的是oarriaga/face_classification的模型 实现效果 准备工作 在开始之前先要安装keras和tensorflow 安装keras使用命令:pip3
    2020-11-21
  • Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    CI/CD概述 CI工作流程设计 Git 代码版本管理系统 只能命令行去管理git Gitlab 基于git做了图形管理页面,企业使用gitlab做私有的代码管理仓库 Github 公共代
    2020-11-19
  • Java 合并多个MP4视频文件

    Java 合并多个MP4视频文件

    局限性 只支持MP4文件 经过尝试对于一些MP4文件分割不了 依赖 <!-- mp4文件操作jar --> <!-- https://mvnrepository.com/artifact/com.googlecode.mp4parser/is
    2020-11-19
  • SpringBoot获取Request和Response方法代码解析

    SpringBoot获取Request和Response方法代码解析

    通过静态方法获取,你也可以封装一个静态方法出来 @GetMapping(value = "") public String center() { ServletRequestAttributes servletRequestAttributes = (
    2020-11-19

最新评论