Error
[Docker 오류 해결] subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
성장중 •͈ᴗ•͈
2024. 9. 11. 21:46
728x90
반응형
발생한 오류
도커 파일을 통해서 도커 이미지를 빌드할 때 다음과 같은 오류가 발생하였다.
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
ERROR 표시 옆에 실행 오류가 뜨는 코드가 명시되어 있었지만 로그를 봤을 때 공통적으로 "subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1." 라고 적혀있었다.
이 오류는 여전히 lsb_release 명령과 관련된 문제가 있음을 나타내며, pip가 시스템 정보를 얻으려고 할 때 lsb_release 명령을 사용하려고 하지만 실패하고 있음을 의미한다.
우선 내가 기반으로 한 이미지는 'tensorflow/tensorflow:1.14.0-gpu-py3'이고
tensorflow 1.14.0 와 python 3.6.8을 사용했어야 하는 상황이었다.
해결 방법
따라서, 해결 방법은 다음과 같다.
- lsb_release 문제를 우회하기 위해 get-pip.py 스크립트를 사용하여 pip을 설치하였다.
- 모든 pip 명령을 python3.6 -m pip 형식으로 변경하였다.
- 캐시 관련 문제를 방지하기 위해서 모든 pip 설치 명령에 --no-cache-dir 옵션을 추가하였다.
# pip 설치 및 업그레이드 (get-pip.py 사용)
RUN wget https://bootstrap.pypa.io/pip/3.6/get-pip.py \
&& python3.6 get-pip.py \
&& rm get-pip.py
# pip 업그레이드 및 필수 패키지 설치(예시)
RUN python3.6 -m pip install --no-cache-dir --upgrade pip setuptools wheel
728x90
반응형
LIST