Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Dockerfile中为Swagger生成的Go服务器传递参数_Docker_Go_Swagger_Dockerfile - Fatal编程技术网

在Dockerfile中为Swagger生成的Go服务器传递参数

在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

我对写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/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”],谢谢