我可以将Docker运行参数传递给可选的Golang标志吗?

时间:2019-05-25 11:35:15

标签: docker go

我想在docker容器中运行一个简单的go脚本。该脚本具有一些标志,例如下面的两个示例。

标志:

dataSource := flag.String("input", "", "Path")
...
concurrency := flag.Int("concurrency", 10, "Concurrency")
flag.Parse()

某些标志已设置默认值,并且是可选的。其他是必须由用户设置的。如何在不让用户输入所有参数的情况下将docker run命令中的参数传递给go脚本?

Dockerfile:

FROM golang:alpine AS builder
RUN apk update && apk add --no-cache git
WORKDIR $GOPATH/go/src/app
ENV GOBIN=/usr/local/bin
COPY . .
RUN go get github.com/lib/pq
RUN go build -o /go/bin/Import
FROM scratch
COPY --from=builder /go/bin/Import /go/bin/Import
ENTRYPOINT ["/go/bin/Import""]

我已经阅读了有关ENTRYPOINT的文档,但找不到适合我的文档。甚至有可能还是没有道理?

我已经阅读了以下类似的帖子:Pass optional arguments when running a Docker image。它们只是传递单个参数,我该如何为它们定义默认值?

感谢您的帮助

0 个答案:

没有答案