강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của msj9903057348
msj9903057348

câu hỏi đã được viết

Thực hành Linux với kỹ sư Thung lũng Silicon

Hãy tìm hiểu về cú pháp Bash Shell

Dockerfile compose build 에러

Đã giải quyết

Viết

·

208

0

안녕하세요.

ubuntu:24.10 버전으로 강의를 들었었습니다.

그리고 지금 현재 ros2를 사용해야해서, 22.04버전으로 다운그레이드하려고합니다.

Screen Shot 2024-11-11 at 4.55.22 PM.png

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

Screen Shot 2024-11-11 at 4.56.02 PM.png

 

 

linux운영체제sreoperating-systems

Câu trả lời 2

0

altoformula님의 프로필 이미지
altoformula
Người chia sẻ kiến thức

안녕하세요 msj990305님,

제 생각에는 기존에 사용했던 Volume때문에 문제가 있는 것 같은데, docker volume lsdocker 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” 오류입니다. 이는 비밀번호를 변경하기 위한 권한의 부재나 관련된 파일 시스템 설정 문제로 인해 발생할 수 있습니다.

다음은 이 문제를 해결하기 위한 몇 가지 방법입니다:

  1. RUN 명령의 순서 조정: Dockerfile에서 chpasswd 명령을 실행하기 전에 필요한 패키지가 모두 설치되고, 기본 환경이 초기화될 수 있도록 apt-get updateapt-get upgrade를 적절히 수행했는지 확인하세요.

  2. 권한 설정 확인: chpasswd 명령이 실행될 때 필요한 권한이 Docker 환경에서 제대로 설정되지 않은 경우가 있을 수 있습니다. Docker 내에서 필요한 파일 시스템이 읽고 쓰기 가능한지 확인해야 합니다.

  3. 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", "--"]

이 문제 해결에 도움이 될 수 있는 기존 질문이 있습니다. 다른 질문자들이 겪은 유사한 문제들을 참고함으로써 추가적인 정보를 얻으실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của msj9903057348
msj9903057348

câu hỏi đã được viết

Đặt câu hỏi