Drone 빌드 서버로 다음 Dockerfile을 사용하여 도커 이미지를 만들었습니다.error standard_init_linux.go : 도커 이미지를 시작하는 동안 178
FROM centurylink/ca-certs
WORKDIR /app
ADD VERSION .
ADD conf/ conf/
ADD resources/ resources/
ADD app app
# Expose the application on port 8080
EXPOSE 80
ENTRYPOINT ["./app"]
그러나 그것은 standard_init_linux.go:178: exec user process caused "no such file or directory"
도커 호스트 맥 OS되는 예외 초래한다. 그리고 Amazon EC2 리눅스 인스턴스에서이 이미지를 실행하려고합니다.
다음은 드론 빌드 스크립트입니다. (.drone.yml
)
workspace:
base: /go
path: src/github.com/me/app
pipeline:
build:
image: instrumentisto/glide
commands:
- glide install
- export GOOS=linux
- export GOARCH=amd64
- go build
- go test -v
when:
event: [ push, tag ]
publish:
image: plugins/ecr
repo: 111.dkr.ecr.eu-central-1.amazonaws.com/app
registry: 111.dkr.ecr.eu-central-1.amazonaws.com
dockerfile: Dockerfile
tag: ${DRONE_TAG}
default_tags: false
default_branch: development
secrets: [ ecr_access_key, ecr_secret_key, ecr_region ]
when:
event: tag
status: success
ref: refs/tags/v1*
나는 그들이 스크립트의 오두막 라인을 추가하는 것이 좋습니다 SO 곳에서 유사한 문제를 건너 왔어요했습니다. 그러나 필자의 경우 엔트리 포인트는 golang 실행 파일이 아니라 스크립트입니다.
CGO_ENABLED = 0을 추가하면 문제가 해결되었습니다. 감사 – Anuruddha