我在 M1 Mac 上,尝试在CentOS 8Docker容器中创建和构建golangrpm包。
我在上面安装了戈朗语:
wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xf go1.13.4.linux-amd64.tar.gz
个
1.将export PATH=$PATH:/usr/local/go/bin
添加到~/.bash_配置文件source ~/.bash_profile
但是当我运行go version
时,我得到错误:
qemu-x86_64:无法打开文件“/x86/x86”:无此文件或目录
我在网上看了一下,但是有类似错误的人,似乎在非常不同的场景中,我不能在这种情况下复制。我该怎么做才能在这个CentOS容器上真正安装golang?
1条答案
按热度按时间ux6nzvsh1#
希望您在集装箱之旅中过得愉快,
关于你的错误信息,你可以检查一下:qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
但我也有一些建议,可以帮助你:因为我没有你的dockerfile,我尝试与这一个:
让我们来构建它:
问题是,对于Centos 8 Docker镜像,我无法更新或安装任何东西:(https://serverfault.com/questions/1091791/the-latest-centos8-docker-image-cannot-run-yum)
所以我决定避免系统更新和wget的安装,并使用dockerfile ADD命令(ADD和COPY的区别在于,我们可以直接使用ADD从URL复制内容,而不仅仅是从我们的主机文件系统),并使用dockerfile ENV命令将go path添加到$PATH env变量中,下面是我的df的样子:
让我们来构建它:
它工作得很好。
Centos 8 Docker图像是有限的,因为我不能安装我需要的,所以你可以用Centos:7 Docker图像代替它。
解决方案2:尝试按@帕拉建议安装golang,你也可以直接用yum安装golang,但是“yum install -y golang”不起作用。2所以我们必须手动安装它,就像我们已经做的那样。
解决方案3:您可以直接使用官方的golang docker图像,即:
希望这对你有帮助,bguess。