首页 > 后端开发 > Golang > 正文

为什么我在 Docker 镜像中找不到我的 Go 包?

DDD
发布: 2024-11-04 20:51:01
原创
168 人浏览过

Why Can't I Find My Go Package in My Docker Image?

使用 Go 应用解决 Docker 中的“找不到包”错误

为 Go 应用程序构建 Docker 镜像时,很常见的情况“找不到包”错误。如果镜像中的 Go 代码结构不正确或者依赖项未正确安装,则可能会发生这种情况。

问题:

在 Dockerfile 中,如果您将所有文件复制到根目录,尝试在那里构建应用程序,然后期望二进制文件存在于“/go/bin/app”中,但它不在那里,此错误可能

解决方案:

要解决此问题,请修改 Dockerfile 以包含以下步骤:

  1. 将项目文件复制到"/go/src/myapp":

    ADD . /go/src/myapp
    登录后复制
  2. 将工作目录设置为 "/go/src/myapp":

    WORKDIR /go/src/myapp
    登录后复制
  3. 安装依赖项:

    RUN go get myapp
    登录后复制
  4. 安装/构建二进制文件:

    RUN go install
    登录后复制
  5. 设置条目点:

    ENTRYPOINT ["/go/bin/myapp"]
    登录后复制

其他故障排除:

  • 日志记录:检查文件在 Dockerfile 中执行“ADD”命令后的结构,使用 docker exec ls.
  • Shell 访问: 要进入生成的映像的 shell 并进一步调查问题,请使用 docker run --rm -it ; /bin/sh.

以上是为什么我在 Docker 镜像中找不到我的 Go 包?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!