gpt4 book ai didi

docker - Dockerfile错误:standard_init_linux.go:207:exec用户进程引起“没有这样的文件或目录

转载 作者:行者123 更新时间:2023-12-02 20:44:08 26 4
gpt4 key购买 nike

尝试创建服务ERROR: standard_init_linux.go:207: exec user process caused "no such file or directory".时出现此错误。当我使用ubuntu:latest作为基本镜像时,不会发生这种情况。

因此,我尝试通过以下方式运行服务:

docker service create --name mon --publish 9999:9999 --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock mon:1 

并且该服务未成功创建。

这是我的带有golang:alpine的dockerfile:
FROM golang:alpine
COPY . /edg
RUN chmod a+x /edg/edgmn
EXPOSE 9999
CMD ["/edg/edgmn", "--rules.reactive", "--swarm.environment", "--alert.address=X:9091"]

我已经尝试了很多东西,但是没有任何效果。

有任何想法吗?
谢谢

最佳答案

您的二进制文件可能会动态链接到 Alpine 镜像中不可用的一个或多个库。例如,如果您的二进制文件链接到glibc(通常是在Ubuntu上编译的话),则它在alpine(使用musl而不是glibc)中将不起作用,但将与ubuntu:latest一起使用。

参见How do I build a static Go binary for the Docker Alpine image?

简而言之,在将二进制文件复制到 Alpine 容器之前使用CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build <args>编译二进制文件通常可以解决该问题。

关于docker - Dockerfile错误:standard_init_linux.go:207:exec用户进程引起“没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58205781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com