请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

docker run hello时出现错误

在linux虚拟机和mac上都有如下报错,standard_init_linux.go:190: exec user process caused "exec format error"
mac:
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:21:31 2018
OS/Arch: darwin/amd64
Experimental: false

Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:29:02 2018
OS/Arch: linux/amd64
Experimental: true

linux虚拟:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:48:22 2018
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:19:08 2018
OS/Arch: linux/amd64
Experimental: false

正在回答 回答被采纳积分+3

插入代码

1回答

提问者 心恋free 2018-11-13 13:41:46

已经解决了,我用的golang创建的hello程序,hello文件生成的时候依赖的一些库动态链接的,但是scratch 镜像完全是空的,什么东西也不包含,编译hello时候要按照下面的方式生成,使生成的hello静态链接所有的库:

CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o hello .

1 回复 有任何疑惑可以回复我~
  • good job
    回复 有任何疑惑可以回复我~ 2018-11-13 15:41:33
  • 十分感谢。在 Mac 的环境下。 CGO_ENABLED=0 GOOS=linux go build hello.go 这样的可执行文件才能在容器中正常运行,但是这个可执行文件就不能在 MacOS 下运行了。看样子还在 linux 系统下玩比较好。
    回复 有任何疑惑可以回复我~ 2019-02-07 11:47:32
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号