dockerfile編寫
# 打包依賴階段使用golang作為基礎映象
FROM golang:1.14 as builder
WORKDIR /app
# 啟用go module
ENV GO111MODULE=on \
GOPROXY=https://goproxy.cn,direct \
CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
#
RUN git clone 這裡是githu地址
## 切換到相應目錄go build
RUN cd /app/image-merge_grpc && go build /app/image-merge_grpc
## 支援中文alpine的基礎映象
FROM frolvlad/alpine-glibc:alpine-3.11_glibc-2.30
WORKDIR /app
# 將上一個階段app資料夾下的所有檔案複製進來
COPY --from=builder /app .
# 複製下時區檔案,不知道中文alpine映象有沒有,待測試
COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
## 為了防止程式碼中請求https連結報錯,我們需要將證照納入到scratch中
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/cert
EXPOSE 50054
WORKDIR /app/image-merge_grpc
ENTRYPOINT ["./imageMerge"]
docker-compose.yml 編寫
version: '3'
services:
go_images_merge:
container_name: go_images_merge #容器名稱
build: ./docker/go_image_merge #dockerfile所在目錄
image: go_images_merge:v1.0.3 #映象名稱
restart: always #自動重啟
ports:
- "50054:50054"
本作品採用《CC 協議》,轉載必須註明作者和本文連結