首页 > 后端开发 > Golang > 如何修复 Go Web 应用程序中 Docker 的'standard_init_linux.go:190: exec 用户进程导致'没有这样的文件或目录””错误?

如何修复 Go Web 应用程序中 Docker 的'standard_init_linux.go:190: exec 用户进程导致'没有这样的文件或目录””错误?

Susan Sarandon
发布: 2024-12-18 16:54:14
原创
163 人浏览过

How to Fix Docker's

使用 Go Web 应用程序解决 Docker 错误:“standard_init_linux.go:190: exec user process导致“没有这样的文件或目录””

运行基本程序时在 Docker 中的 Go Web 应用程序中,您可能会遇到错误:“standard_init_linux.go:190: exec user process Caused “no such file or directory”。此问题的出现是由于缺少文件、脚本解释器或可执行库。

在这种情况下,网络导入涉及作为动态链接二进制文件的 libc。要解决此问题,您需要在编译过程中指定其他标志:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o mybin *.go
登录后复制

标志说明:

  • CGO_ENABLED=0: 禁用 Cgo,它用于与 C 接口code。
  • GOOS=linux: 指定目标操作系统为 Linux。
  • GOARCH=amd64: 指定目标架构为 amd64 (64 -bit).
  • -a: 重建所有 Go 文件。
  • -tags netgo: 标记程序以使用 Go 标准库的 net 包。
  • -ldflags '-w' :创建静态链接的可执行文件(删除对共享的依赖关系)库)。
  • -o mybin:将输出二进制名称指定为“mybin”。

通过使用这些标志,您正在创建静态链接的可执行文件不依赖于外部库。这应该可以解决在 Docker 中运行应用程序时出现的“没有这样的文件或目录”错误。

以上是如何修复 Go Web 应用程序中 Docker 的'standard_init_linux.go:190: exec 用户进程导致'没有这样的文件或目录””错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板