GO docker 部署
编辑Dockerfile
FROM golang:1.15 AS builder
ENV GO111MODULE=on \
GOPROXY=https://goproxy.cn,direct \
CGO_ENABLED=0 \
GOARCH=amd64
# 移动到工作目录:/build
WORKDIR /build
COPY go.mod .
COPY go.sum .
RUN go mod download
# 将代码复制到容器中
COPY . .
# 将我们的代码编译成二进制可执行文件 app
#RUN go build -o app .
RUN go build cmd/app/app.go
###################
# 接下来创建一个小镜像
###################
FROM scratch
# 从builder镜像中把/dist/app 拷贝到当前目录
COPY --from=builder /build/app /
COPY ./config /config
# 需要运行的命令
ENTRYPOINT ["/app"]
第一种 直接编译执行
docker build -t my-golang-app .
docker run -it -p3000:3000 --rm --name my-running-app my-golang-app
第二种 配置docker-compose.yml ,再执行
docker-compose.yml
# yaml 配置
version: "3.7"
services:
my_app:
build: .
command: sh -c "./app