인프런 커뮤니티 질문&답변

m22h님의 프로필 이미지
m22h

작성한 질문수

데브옵스(DevOps)를 위한 쿠버네티스 마스터

클러스터 구성하기

standard_init_linux.go:211: exec user process caused "exec format error"

작성

·

3.7K

2

쿠버네티스에서 실행할 Go언어 컨테이너 작성

로컬 환경에서 똑같이 진행하고 있는데요

해당 도커파일로 빌드한 이미지로 컨테이너 만들면,

실행시 아래와 같은 에러 메시지를 뱉고 곧바로 꺼집니다.

standard_init_linux.go:211: exec user process caused "exec format error"

어떻게 해결 할 수 있을까요?

답변 6

4

m22h님의 프로필 이미지
m22h
질문자

강사님 말씀에 힌트를 얻어서 golang 이미지 환경 내에서 go 소스코드를 컴파일까지 하도록 dockerfile 작성했더니 문제가 해결되었습니다.

감사합니다.

FROM golang:1.11
WORKDIR /usr/src/app
COPY main.go /usr/src/app
RUN go get github.com/julienschmidt/httprouter
RUN go build /usr/src/app/main.go
RUN chmod +x /usr/src/app/main
CMD ["/usr/src/app/main"]

0

아 감사합니다.

오히려 제가 도움드린게 없는 것 같은 것 같아요 ㅎㅎㅎ

내부에 소스코드를 넣고 빌드하는 방식으로 해결하셨네요!

0

m22h님의 프로필 이미지
m22h
질문자

맥북입니다

Darwin Giwanui-MacBookPro.local 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64

일단 다음 강의 넘어가도록 하겠습니다

0

그럼 아키텍처는 어떤것 쓰시나요? 아키텍처가 다른 경우에 나올 수 있다고 합니다.

uanme -a 명령을 사용해서 확인 할 수 있습니다.

$uname -a

Linux ubuntu-test 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

----- 추가 ----

혹시나 싶어서 애저에 급하게 인스턴스 할당해서 컴파일부터 쭉 다시 해봤는데 역시 동일하게 잘 됩니다.

아마 무언가 잘 안되는 환경을 쓰고 계신것 같습니다 ㅠ

0

m22h님의 프로필 이미지
m22h
질문자

답변 감사합니다. 제가 작성한 도커 파일은 아래와 같았습니다.

FROM golang:1.11
WORKDIR /usr/src/app
COPY main /usr/src/app
RUN chmod +x /usr/src/app/main
CMD ["/usr/src/app/main"]

카피 후에 chmod로 권한을 줬고 호스트에서도 실행권한을 준 상태인데도

여전히 오류가 나네요

0

안녕하세요 강사 최일선입니다.

검색을 해보니

실행권한이 없는 경우에 그럴 수 있다고 합니다.

실행 권한 주시고 다시한번 시도해보시기 바랍니다!

https://stackoverflow.com/questions/58298774/standard-init-linux-go211-exec-user-process-caused-exec-format-error

m22h님의 프로필 이미지
m22h

작성한 질문수

질문하기