Docker 컨테이너에 "절전: 실시간 시계를 읽을 수 없습니다: 작업이 허용되지 않습니다"가 표시됩니다.

Docker 컨테이너에 "절전: 실시간 시계를 읽을 수 없습니다: 작업이 허용되지 않습니다"가 표시됩니다.

apt-get dist-upgradeDocker 컨테이너에서 실행 하면 다음과 같은 결과를 얻습니다.

Unpacking libc6:i386 (2.31-1) over (2.30-8) ...
Setting up libc6:i386 (2.31-1) ...
Checking for services that may need to be restarted...
Checking init scripts...
Nothing to restart.
sleep: cannot read realtime clock: Operation not permitted
dpkg: error processing package libc6:i386 (--configure):
 installed libc6:i386 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 libc6:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)

libc 2.31-1은 Debian 테스트 호스트의 docker에서 실행을 지원합니까?

Linux x1c7 5.7.0-1-amd64 #1 SMP Debian 5.7.6-1 (2020-06-24) x86_64 GNU/Linux

컨테이너 내부를 실행하면 libc에서 호출 sleep 0되는 것을 볼 수 있습니다 nanosleep.

nanosleep(0xffd8eb54, 0, 0xf7dbf4d5, 0x565e24ea)                          = -1

내가 달릴 때 strace sleep 0, 나는 그것이 전화하는 것을 본다clock_nanosleep_time64

clock_nanosleep_time64(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=0}, 0xff8b0b8c) = -1 EPERM (Operation not permitted)
write(2, "sleep: ", 7sleep: )                  = 7
write(2, "cannot read realtime clock", 26cannot read realtime clock) = 26
write(2, ": Operation not permitted", 25: Operation not permitted) = 25

dist 업그레이드는 어떻게 되었나요? 이게 나한테 달려 있는 걸까? 어떤 컴퓨터에서나 이것을 재현할 수 있습니다. 내가 해야 할 일은

  • Metal에 데비안 테스트를 설치하고,
  • 도커 설치
  • 다음 명령을 실행하십시오.docker run i386/debian:unstable /bin/sh -c "apt-get update && apt-get install -qy libc6:i386; echo TRYING TO SLEEP; sleep 0"

답변1

당신이해야 할 --privileged일은docker run

관련 정보