나는 이것을 알아 내려고 머리를 긁적입니다.
새로 설치된 Fedora 32에서 다음 최소 컨테이너가 제대로 실행되지 않습니다.
FROM centos:7
RUN yum install -y sudo && yum clean all -y
RUN useradd -m test
RUN sudo -u test true
이를 테스트하려면 다음을 실행하세요.
podman build .
결과는 다음과 같습니다.
STEP 4: RUN sudo -u test true
sudo: PAM account management error: Authentication service cannot retrieve authentication info
Error: error building at STEP "RUN sudo -u test true": error while running runtime: exit status 1
이제 Fedora 32를 특별하게 만드는 것이 무엇인지 궁금합니다. 나는 이것이 31세 미만에서 작동했다고 확신합니다. 참여 버전 sudo
과 환경이 변경되지 않았기 때문에 유일한 차이점은 podman일 수 있습니다. 그러면 Podman은 sudo
컨테이너(또는 일반적으로 PAM) 내부 호출과 어떤 관련이 있습니까 ?
(이 질문에는 "podman" 태그를 생성할 수 없기 때문에 "docker" 태그가 지정되었습니다.)
답변1
좋아요, 여기 제가 수많은 고통스러운 디버깅 시간을 거쳐 알아낸 것이 있습니다.
- 이 작업을 시도하기 전에 새 노트북으로 마이그레이션했습니다. 저는
/home
기존 노트북에서 새 노트북으로 복사하여 이 작업을 수행했습니다. - 내 새 홈 디렉터리의 이미지 캐시에 일종의 오류가 포함되어 있습니다.
podman
불평하거나 이미지를 다시 다운로드하려고 시도하지 않았지만 (다른 컴퓨터와 비교하여) 해시가 다르다는 것을 알 수 있었습니다. 이미지 안에는/etc/shadow
누락되었습니다. 하지만 왜, 어떻게 그런 일이 일어날 수 있었는지 전혀 모르겠습니다. - 캐시를 완전히 지우고
podman
다시 다운로드한 후 올바른 이미지를 얻었고 모든 것이 다시 작동했습니다.
따라서 이는 Fedora 31에서 32로 podman 이미지를 복사할 때 발생한 매우 구체적인 오류였음에 틀림없습니다. 이미지가 다소 손상되지 않았습니다. 나는 그것을 실행할 수 있었다. 그러나 적어도 하나의 중요한 파일을 완전히 놓쳤습니다. 꽤 기괴합니다.