반응형

Docker 파일 빌드할 때 발생하는 "oci runtime create failed container_linux.go:346: starting container process caused "~~": executable file not found in $PATH": unknown 에러는 문법 오류로 인해 발생 합니다.

starting container process caused 뒤에 문제가 된 문법이 나오게 되는데 해당 부분을 Dockerfile에서 찾아 수정 해주어야 합니다. 일반적으로 RUN 명령에서 exec 형식을 사용할 때 명령 인수에 환경 변수를 지정할 수가 없는데, 환경 변수를 지정 하였거나 문법에 어긋난 명령을 입력할 때 자주 발생 합니다.

FROM centos:7

RUN ["yum -y install nginx"]

 

위의 예시를 언뜻 보면 문제가 없어 보이지만 일반적인 shell 형식으로 작성된것이 아닌 exec 형식으로 작성 되었습니다. 위의 코드를 정상적으로 동작 시키기 위해서는 아래와 같이 작성 해야 합니다.

FROM centos:7

RUN yum -y install nginx 
#또는
RUN ["/bin/bash", "-c", "yum -y install nginx"]

 

반응형

+ Recent posts