Dockerfile compose build 에러
안녕하세요.
ubuntu:24.10 버전으로 강의를 들었었습니다.
그리고 지금 현재 ros2를 사용해야해서, 22.04버전으로 다운그레이드하려고합니다.

이 것이 현제 제 Dockerfile인데, docker-compose build --no-cache를 할 때 이런 에러가 납니다.

Answer 2
0
안녕하세요 msj990305님,
제 생각에는 기존에 사용했던 Volume때문에 문제가 있는 것 같은데, docker volume ls와 docker inspect <container_name_or_id>를 사용하셔서 Volume 지우신 다음에 한번 해보세요
아니면 RUN echo 'ubuntu:password' | chpasswd --stdin 바꾸셔서 해 보시거나, RUN echo 'ubuntu:password' | sudo chpasswd으로 코드를 바꿔보시겠어요?
0
안녕하세요, 인프런 AI 인턴입니다. msj990305님.
문의주신 내용에 따르면, Dockerfile을 이용하여 Ubuntu 버전을 22.04로 설정하고 docker-compose build --no-cache 명령을 실행 중에 발생하는 오류는 사용자 비밀번호 변경 시 발생하는 “Authentication token manipulation error” 오류입니다. 이는 비밀번호를 변경하기 위한 권한의 부재나 관련된 파일 시스템 설정 문제로 인해 발생할 수 있습니다.
다음은 이 문제를 해결하기 위한 몇 가지 방법입니다:
RUN 명령의 순서 조정: Dockerfile에서
chpasswd명령을 실행하기 전에 필요한 패키지가 모두 설치되고, 기본 환경이 초기화될 수 있도록apt-get update와apt-get upgrade를 적절히 수행했는지 확인하세요.권한 설정 확인:
chpasswd명령이 실행될 때 필요한 권한이 Docker 환경에서 제대로 설정되지 않은 경우가 있을 수 있습니다. Docker 내에서 필요한 파일 시스템이 읽고 쓰기 가능한지 확인해야 합니다.PAM 설정 확인: 이 오류는 때때로 PAM(Pluggable Authentication Modules) 구성 오류와 연결될 수 있습니다.
sshd서비스를 설정할 때 PAM 관련 설정이 제대로 되어 있는지 확인해 보세요.
- 현재 사용하시는
Dockerfile명령을 약간 수정해 보세요:
# Use Ubuntu as the base image
FROM ubuntu:22.04
# Install essential utilities
RUN apt-get update && apt-get install -y \
openssh-server \
sudo \
systemd \
systemd-sysv \
net-tools \
tcpdump \
ethtool \
plocate \
man-db \
vim \
traceroute \
fdisk \
dnsutils \
iputils-ping \
cron \
jq
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y ntp
# Uncomment if necessary
# RUN yes | unminimize
# User setup
RUN id -u ubuntu &>/dev/null || useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu
# Change user's password
RUN echo 'ubuntu:password' | chpasswd || echo "Password change failed"
# SSH service setup
RUN mkdir -p /var/run/sshd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH login fix
RUN sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config
# Expose port for SSH
EXPOSE 22
RUN apt-get install -y dumb-init
# Start the SSH service
COPY bootstrap.sh /root/
RUN chmod +x /root/bootstrap.sh
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
이 문제 해결에 도움이 될 수 있는 기존 질문이 있습니다. 다른 질문자들이 겪은 유사한 문제들을 참고함으로써 추가적인 정보를 얻으실 수 있습니다:
- 에러공유: dockercompose up 실행시 user ‘ubuntu’ already exists 오류 발생: 이 게시글에서는 Docker 환경 내에서 사용자 설정 시 발생할 수 있는 문제 해결 방법을 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
민구님 설치시 또 막혀서 질문드려요
0
33
2
git clone 명령어를 어디 터미널에다 붙여넣어야 하나요?
0
34
2
html 파일을 못 불러 옵니다.
0
34
2
결재했는데도 강좌가 안보입니다.
0
49
1
다음 강의는 언제 올려주시는지요?
0
84
3
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
33
1
REST API (Self-descriptive messages)
0
46
1
프로젝트 질문 문의
0
85
1
시스템 엔지니어 관련 질문입니다.
0
81
2
Unauthorized 에러
0
81
2
inotify 객체에 등록된 watch descriptor 해제 관련 질문
0
58
2
select API 실습 코드 질문
0
60
2
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
83
2
여러 의문점
1
84
1
72강의 DNS개념(수업자료)에 자료가 없어서 문의 드립니다.
1
83
2
오버라이딩 관련하여 질문드립니다.
0
76
2
CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.
1
79
2
CPU Bound Process와 sleep, yield에 대해
1
79
1
리눅스 password 로그인 실패
0
232
2
No such file or directory 해결방법이 있을까요?
0
1017
2
Dokerfile과 compose.yml 하는 과정에서 오류가 있습니다
1
407
3
docker compose up 실행 시 오류
0
314
1
docker compose up이 안돼요.
1
407
3
[에러공유] dockercompose up 실행시 user 'ubuntu' already exists 오류 발생
1
450
1

