Docker:容器修改时间问题

Docker:容器修改时间问题

一、问题:docker exec -it ID date -s "2012-08-12 10:30:22"异常,date: cannot set date: Operation not permitted。
二、原因

由于docker容器的隔离是基于Linux的Capability机制实现的, Linux的Capability机制允许你将超级用户相关的高级权限划分成为不同的小单元. 目前Docker容器默认只用到了以下的Capability.
CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW, SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE, SYS_CHROOT, KILL, AUDIT_WRITE

三、 解决方案:增加–cap-add SYS_TIME参数
  1. docker run
# docker run -it --cap-add SYS_TIME  -p 80:80 -v data:/data -d nginx:latest
# docker exec -it 61f82153eaba date -s "2012-08-12 10:30:22"
Sun Aug 12 10:30:22 UTC 2012
  1. docker-compose.yml
version: '3'
services:
  nginx_web:
    image: nginx:latest
    cap_add:
      - SYS_TIME
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值