golang multi-stage build에서 scratch를 사용할 때 시간대를 설정하는 방법
2199 단어 5dockerfile도커
Dockerfile example
FROM golang:1.14.2-alpine3.11 AS builder
RUN apk --update-cache add tzdata
WORKDIR $GOPATH/src/mypackage/myapp/
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o /go/bin/myapp
FROM scratch
COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
COPY --from=builder /usr/local/go/lib/time/zoneinfo.zip /usr/local/go/lib/time/zoneinfo.zip
COPY --from=builder /go/bin/myapp /go/bin/myapp
ENV TZ=Asia/Tokyo
ENTRYPOINT ["/go/bin/myapp"]
루트 CA 인증서가 필요한 경우 위와 함께 다음을 복사하십시오.
COPY --from=build-stage /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
-ldflags="-w -s"
-w
DWARF 기호 테이블 생략DWARF 생성을 비활성화하고 빌드 프로세스 중에 DWARF 심볼 테이블을 생략합니다.
-s
심볼 테이블과 디버그 정보 생략실행 파일을 빌드할 때 심볼 테이블과 디버그 정보를 생략합니다.
이번에는 바이너리를 다이어트하기 위해 위의 옵션을 지정했습니다.
참고:
The Go Programming Language Command link
도움이 된 기사
Go와 Docker로 scratch를 사용할 때 조심하십시오.
Reference
이 문제에 관하여(golang multi-stage build에서 scratch를 사용할 때 시간대를 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fuubit/items/f432f16d1a356e27749e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)