在Dockerfile中为Swagger生成的Go服务器传递参数
我对写Dockerfiles和大摇大摆很陌生,所以我想知道是否有人能帮我做一件事。我正在根据Swagger生成的服务器代码构建一个二进制文件,在运行go服务器时,我需要传入特定于go服务器的参数,但将其传递到ENTRYPOINT或CMD会导致“unknown flag”错误 我的Dockerfile如下所示:在Dockerfile中为Swagger生成的Go服务器传递参数,docker,go,swagger,dockerfile,Docker,Go,Swagger,Dockerfile,我对写Dockerfiles和大摇大摆很陌生,所以我想知道是否有人能帮我做一件事。我正在根据Swagger生成的服务器代码构建一个二进制文件,在运行go服务器时,我需要传入特定于go服务器的参数,但将其传递到ENTRYPOINT或CMD会导致“unknown flag”错误 我的Dockerfile如下所示: FROM golang:1.10.1-alpine3.7 AS build RUN apk add --no-cache git RUN go get github.com/golang
FROM golang:1.10.1-alpine3.7 AS build
RUN apk add --no-cache git
RUN go get github.com/golang/dep/cmd/dep
WORKDIR /go/src/<path_to_workdir>
RUN dep ensure -vendor-only
WORKDIR /cmd/data-server
ENV SRC_DIR=/go/src/<path_to_src_dir>
ADD . $SRC_DIR
RUN cd $SRC_DIR; go build -o data; cp data /cmd/data-server
ENTRYPOINT ["./data", "--scheme http"]
来自golang的:1.10.1-alpine3.7竣工
运行apk add--无缓存git
运行go-get-github.com/golang/dep/cmd/dep
WORKDIR/go/src/
运行dep确保-仅限供应商
WORKDIR/cmd/data服务器
ENV SRC_DIR=/go/SRC/
加上$SRC_DIR
运行cd$SRC_DIR;去构建-o数据;cp data/cmd/data服务器
入口点[“/”数据“,“--scheme http”]
在前面提到的错误上,它失败了。
我如何才能正确地执行此操作?您可以编写
ENTRYPOINT ["./data", "--scheme", "http"]
然后您只需要docker运行图像的名称
也可以在运行映像时传递参数
docker run --scheme http
我成功地使用了:ENTRYPOINT[“/data”、“--scheme”、“http”],谢谢