南君手记
  • 持续专注
  • Docker
    • Azure容器镜像代理服务失效
    • registry镜像加速器拉取谷歌镜像
    • 简单镜像加速
    • registry拉取dockerhub私有镜像
  • Golang
    • standard_init_linux.go:190: exec user process caused "no such file or directory
    • flota64后面保留三位小数
    • 数组赋值问题
    • append函数的使用方式
    • 错误返回非空的值
    • 数组类型转换
    • 强制类型转换
    • for循环之迭代变量
    • 切片长度
    • Map面试题
    • 指针方法&值方法
  • Gitbook
  • 油管知识汇
  • 穷查理宝典
    • 一些箴言
  • 自省
  • 技术调研
    • gomonkey
    • goconvey调研学习
    • Github认证调研
  • kubenetes
    • 利用NFS动态提供Kubernetes后端存储卷
    • k8s CRD(一)quick start
  • Tekton
    • Tekton Dashboard
    • tekton之Task&TaskRun概念篇
    • tekton简单介绍及安装
  • 哈佛的6堂独立思考课
由 GitBook 提供支持
在本页

这有帮助吗?

  1. Golang

standard_init_linux.go:190: exec user process caused "no such file or directory

今天打golang工程的镜像遇到一个问题,就是我在centos的主机上编译golang项目,然后使用Dockerfile构建镜像,用docker运行镜像时,日志一直报如下错误,且一直重启:

standard_init_linux.go:190: exec user process caused "no such file or directory"

Dockerfile如下:

FROM alpine:latest
COPY test-latest-linux-amd64 /usr/local/bin/test
RUN echo -e "https://mirrors.ustc.edu.cn/alpine/latest-stable/main\nhttps://mirrors.ustc.edu.cn/alpine/latest-stable/community" > /etc/apk/repositories && \
    apk update &&\
    apk --no-cache add tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" >  /etc/timezone
ENTRYPOINT ["test"]

Dockerfile没啥问题。编译命令是go build -o test-latest-linux-amd64 main.go

网上一搜,发现centos下编译生成的二进制文件,拿进alpine下运行时有问题的。

编译命令加入如下参数:-tags netgo

go build -tags netgo -o test-latest-linux-amd64 main.go

就可以了 具体原理不明。我建议以后编译golang项目统一在docker 容器中编译。

参考文章

上一页Golang下一页flota64后面保留三位小数

最后更新于5年前

这有帮助吗?