作为go应用存在二进制文件却不能执行
明明镜像中有对应的二进制文件,但是执行时却提示 not found
或 no such file
或 standard_init_linux.go:211: exec user process caused "no such file or directory"
网上常说都是因为windows换行符编码问题。此处实际问题是该二进制文件是使用动态链接方式编译.
解决方法:
text
|
|
注意:CGO_ENABLED=0 GOOS=linux GOARCH=amd64
和 cgo_enabled=0 goos=linux goarch=amd64
是有区别的。
保存信息
诸如此类信息都是上述问题
text
|
|
替换为国内源
text
|
|
基于alpine制作PHP镜像
alpine包搜索 https://pkgs.alpinelinux.org/
安装依赖库
apk add --no-cache xxx
基于php apline镜像自行增加或删除扩展。 offcial-repo
增加扩展可以使用
pecl install xxx
如pecl install redis
如果不能使用此种方法安装可以使用,git clone 下来在进行编译,编译成功后 docker-php-ext-enable xxx启动扩展。
此中方式制作镜像,常见扩展安装完成后,容器大小可控制在100M左右