docker容器中修改时间
我们在docker容器中直接通过命令行修改时间会有下面这个报错:
date: can't set date: Operation not permitted
这是由于docker容器是基于Linux的Capability机制来进行隔离。
而修改系统时间是需要有SYS_TIME权限才可以修改,docker容器默认是没有这个权限的。所以我们可以在启动容器的时候,加一个参数
--cap-add SYS_TIME
比如
docker run -it --cap-add SYS_TIME --name docker1101 apline /bin/sh
然后我们再去容器中执行修改时间的命令:
date -s "2021-3-10 11:42:45" docker exec -i docker1101 /bin/sh -c 'date -s "2021-3-10 11:42:45"'
可以看到容器的时间已经改变
不过通过这种方式修改容器的时间,事实上同时把宿主机的时间也会修改了。
如果这个宿主机上同时运行了其他的容器,那么这些容器的时间也会产生变化。
另外还有一种方式,可以用libfaketime
libfaketime是一个库,用于修改docker容器时间而不影响宿主机的。它能够“覆盖”应用程序用来检索当前日期或时间的系统调用,并给这些调用提供伪造的值。它发布于github
安装记录如下:
我这里的docker用得是apline,先切换apline安装源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
下载libfaketime
wget https://github.com/wolfcw/libfaketime/archive/master.zip
安装
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
apk add make gcc g++
wget http://192.168.0.203/master.zip
unzip master.zip
cd libfaketime-master
make && make install
cd ..
rm -rf libfaketime-master master.zip
验证
export LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="2019-08-12 10:30:22"
docker容器中修改时间相关推荐
- 在一个已经EXIT的docker容器中,修改配置文件
文章目录 背景 一.方法一 二.方法二 1.通过运行docker inspect [容器id]来获取到底层的容器对象信息 2.修改配置文件 总结 背景 当我们在修改容器里的配置文件后(例如mysql) ...
- 进入Docker容器中修改mysql密码
docker pull mysql docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql ...
- Linux怎么查询全部容器时间,linuxea:如何单单修改docker容器的系统时间
一般情况下,我们仅仅需要修改容器的时间与我们宿主机的实际实际一致即可, 我们知道,默认情况下docker容器是不允许访问系统时钟,但是有一款开源的软件使这样的需求变成了可能.此lib拦截用于检索当前时 ...
- docker容器中配置文件修改错误,导致容器无法启动
docker容器中配置文件修改错误,导致容器无法启动 问题 在elasticsearch加入中文分词器ik时,在容器中配置修改错误,导致elasticsearch启动不了 解决方案 [root@blu ...
- 【Docker】(五)使用bind mounts修改Docker容器中的Nginx配置文件
1.前言 本系列文章记录了从0开始学习Docker的过程,Docker系列历史文章: (一)基本概念与安装使用 (二)如何使用Docker发布一个SpringBoot服务 (三)使用registry远 ...
- 修改docker容器中的文件方法
修改docker容器配置文件方法 昨天准备修改docker容器中的配置文件,由于是xml配置文件,不需要编译,想着直接编辑一下就ok了,但是进入容器发现竟然没有vi命令,一番查找,可以使用以下方法 1 ...
- 修改docker容器中的配置文件
容器创建好后有时需要进入容器修改配置,发现没有vim,我们可以使用sed命令来修改配置文件 sed -i '3s/yes/no/' a.conf 将a.conf中第3行中的yes修改为n ...
- docker中java钩子_springboot项目在docker容器中如何优雅关闭
前言 什么是优雅关闭 在我看来所谓的优雅关闭,就是在系统关闭时,预留一些时间,让你有机会来善后一些事情 什么时候需要优雅关闭 是否所有项目都需要优雅关闭?那也不一定,毕竟所谓的优雅关闭,另一面就意味这 ...
- 在Docker容器中正确配置Gunicorn
Gunicorn是用于Python应用程序的通用WSGI服务器,但是大多数在Docker容器中使用的gunicorn配置都是错误的.在容器中运行gunicorn与在虚拟机或物理服务器上运行不同,并且还 ...
最新文章
- linux下压缩并分割稀疏文件
- Swift--控制流与oc不同的地方
- 基于 AVPlayer 自定义播放器
- 江西版七年级计算机教案,江西科技版《信息技术》七年级信息技术下册教案.doc...
- Python字符串等于
- 找简历模板过程中的碎碎念
- IGBT简介、结构及原理
- 小麦助教|教你培训机构如提高学员续费率!
- No discret job created in Oracle
- 使用backdrop-filter部分场景的替代效果
- 【java】Java中关于String类型的详解
- Linux命令--chroot
- 小米10S MIUI13.0.3线刷12.5.14
- 【ffmpeg】音频重采样
- ui设计-文案(CW)
- 蓝桥杯—拉马车—思路透彻
- 麻省电气工程与计算机科学专业,美国留学 麻省理工学院电气工程与计算机科学理科专业介绍...
- python数据分析与应用课后实训_python数据分析与应用
- font-awesome图标显示问题解决方案
- 日语学习 第4篇 部屋(へや)に机(つくえ)と椅子(いす)があります
热门文章
- 桌面文件夹计算机操作被限制,本机受限制,不能打开属性
- 3GPP 5G R17标准冻结,RedCap作为重要特性值得关注!
- 基于图的异常检测算法——概述
- 实体间的联系存在着( )_【活动】迎新年送实体黑球+实况足球手游国服曼联精选抽黑视频!...
- 机器学习 python 交叉验证实例
- linux远程连接设置
- Caused by:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or ciph
- webmin虚拟服务器创建,如何在服务器上安装配置Webmin
- oracle index skip scan,索引跳跃式扫描(INDEX SKIP SCAN)
- 弘辽科技:淘宝上架产品不简单,如何避免踩坑?