登录
首页 >  Golang >  Go问答

使用 Docker 管理 Go cli 项目

来源:stackoverflow

时间:2024-03-08 16:51:26 167浏览 收藏

一分耕耘,一分收获!既然都打开这篇《使用 Docker 管理 Go cli 项目》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我使用以下 docker 文件,它按预期工作 该项目是 cli ,当我运行命令 docker run -it cli 时 我从 cli 收到错误(这没关系,因为入口点只是运行 fzr entrypoint ["./fzr”])

通常我在我的机器上运行,例如 fzr -helpfzr version

我希望当我使用 docker run -it cli 这样的命令时,我将能够在容器内运行命令

fzr -helpfzr version 一样,我该怎么做?

FROM golang:1.10.5 AS build-env


ADD https://github.com/golang/dep/releases/download/v0.4.2/dep-linux-amd64 /usr/bin/dep
RUN chmod +x /usr/bin/dep

RUN mkdir -p $GOPATH/src/github.com/fzr
WORKDIR  $GOPATH/src/github.com/fzr


COPY Gopkg.toml Gopkg.lock ./

# install project dep
RUN dep ensure 

COPY . ./

RUN  go build  -o /fzr

FROM scratch
COPY --from=build-env /fzr ./
ENTRYPOINT ["./fzr"]

解决方案


TL;博士; docker run -it cli 版本

如果您将 ENTRYPOINT 设置为二进制文件,那么您在图像名称之后传递的所有内容都将用作该二进制文件的参数。如果由于某种原因您需要覆盖入口点,请在 docker run 中使用 --entrypoint 标志。

今天关于《使用 Docker 管理 Go cli 项目》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>