相关疑难解决方法(0)

在不影响主机的情况下更改docker容器中的系统日期时间

我想知道是否可以在不更改主机本身的情况下更改Docker容器中的系统时间.我们正在使用docker容器进行测试,这些容器有时会对时间敏感.我注意到对主机时间所做的任何更改都会立即反映到docker容器中(这是有意义的,因为它们使用相同的内核).我希望Docker提供一种方法让你以某种方式覆盖容器的开始时间并从那里移动.

谢谢

linux datetime kernel docker

11
推荐指数
1
解决办法
7873
查看次数

更改容器内的日期

我在容器内动态更改日期时遇到问题。我拥有的:

docker run -it --privileged myDocker
Run Code Online (Sandbox Code Playgroud)

上面的命令运行具有更改日期权限的容器

我可以通过以下方式更改日期:

date --set "12-12-12" 
Run Code Online (Sandbox Code Playgroud)

但几秒钟后,日期和时间设置为与主机相同

root@660acd776c6b:/# date --set "12-12-12"
root@660acd776c6b:/# date
Wed Dec 12 00:00:01 UTC 2012
root@660acd776c6b:/# date
Wed Dec 12 00:00:02 UTC 2012
root@660acd776c6b:/# date
Wed Dec 12 00:00:02 UTC 2012
root@660acd776c6b:/# date
Tue Jan 15 10:14:26 UTC 2019
root@660acd776c6b:/# date
Tue Jan 15 10:14:27 UTC 2019
Run Code Online (Sandbox Code Playgroud)

容器未安装 ntp。我无法使用faketime,因为我使用 .net 应用程序中的日期,而该应用程序不使用 .net 中的时间faketime。我无法使用 更改系统时钟faketime

如何禁用容器和主机之间的同步?

time containers date docker

8
推荐指数
0
解决办法
7044
查看次数

从 Kubernetes 中部署的容器执行跟踪路由时不允许进行操作 [Linux 功能]

为了尝试了解 Kubernetes 中的安全上下文和功能,我创建了以下 pod 描述:

apiVersion: v1
kind: Pod
metadata:
  name: app
spec:
  securityContext:
    runAsUser: 1000
  containers:
  - name: busy
    image: busybox
    command:
     - sleep
     - "3600"
    securityContext:
      runAsUser: 2000
      capabilities : 
        add: ["NET_ADMIN", "SYS_TIME"]
Run Code Online (Sandbox Code Playgroud)

我在其中添加 NET_ADMIN 和 SYS_TIME 功能。

给定 Linux 功能手册页: http://man7.org/linux/man-pages/man7/capability.7.html

我希望能够执行跟踪路由或设置日期:

$ kubectl exec -it app -- traceroute google.fr
traceroute: socket: Operation not permitted
command terminated with exit code 1

$ kubectl exec -it app -- /bin/sh date --set="10:00:00"
date: can't set date: Operation not permitted …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

docker ×3

containers ×1

date ×1

datetime ×1

kernel ×1

kubernetes ×1

linux ×1

time ×1