在 Alpine Linux Docker 的路径中找不到已安装的 Go 二进制文件 [英] Installed Go binary not found in path on Alpine Linux Docker
本文介绍了在 Alpine Linux Docker 的路径中找不到已安装的 Go 二进制文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 Go 二进制文件,我想在 Alpine Docker 映像上运行.
I've got a Go binary I'm trying to run on the Alpine Docker image.
这适用于 Docker Go 二进制文件.
This works fine for the Docker Go binary.
docker run -it alpine:3.3 sh
apk add --no-cache curl
DOCKER_BUCKET=get.docker.com
DOCKER_VERSION=1.9.1
curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/docker-$DOCKER_VERSION" -o /usr/local/bin/docker
chmod +x /usr/local/bin/docker
docker help
Usage: docker [OPTIONS] COMMAND [arg...]
...
但是,对于我想要安装的 Go 二进制文件.
However, for the Go binary I want to install.
RACK_BUCKET=ec4a542dbf90c03b9f75-b342aba65414ad802720b41e8159cf45.ssl.cf5.rackcdn.com
RACK_VERSION=1.1.0-beta1
curl -fSL "https://${RACK_BUCKET}/${RACK_VERSION}/Linux/amd64/rack" -o /usr/local/bin/rack
chmod +x /usr/local/bin/rack
rack help
sh: rack: not found
/usr/local/bin/rack help
sh: /usr/local/bin/rack: not found
ls -al /usr/local/bin/
total 43375
drwxr-xr-x 2 root root 1024 Jan 11 18:10 .
drwxr-xr-x 8 root root 1024 Jan 11 18:09 ..
-rwxr-xr-x 1 root root 30222575 Jan 11 18:09 docker
-rwxr-xr-x 1 root root 14190576 Jan 11 18:10 rack
which rack
/usr/local/bin/rack
我认为它可能与这个答案有关,但我在运行时没有遇到同样的错误<代码>ldd.
I thought it might have something to do with this answer but I don't get the same error when running ldd
.
ldd /usr/local/bin/rack
/lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000)
libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000)
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000)
在 Alpine Linux Docker 的路径中没有找到关于这个安装的 Go 二进制文件的任何想法?
Any idea with this installed Go binary is not found in path on Alpine Linux Docker?
推荐答案
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
由于 musl 和 glibc 是兼容的,您可以制作此符号链接,它将修复缺少的依赖项.
Since the musl and glibc so are compatible, you can make this symlink and it will fix the missing dependency.
这篇关于在 Alpine Linux Docker 的路径中找不到已安装的 Go 二进制文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文