Docker容器内没有与主机名关联的地址

siv3szwd  于 2023-03-17  发布在  Docker
关注(0)|答案(1)|浏览(150)

我使用的是一个定制版本的Ubuntu 18.04,我有一个Docker容器,我试图在其中安装一个.deb软件包来使用前视红外相机。为了这样做,我从this website下载了文件spinnaker-2. 5. 0. 80-Ubuntu 18. 04-arm 64-pkg.tar. gz,就像Ubuntu 18. 04建议的那样。
我按照那些instructions来安装所有的东西,基本上意味着以下命令:

apt-get install libusb-1.0-0
tar xvfz spinnaker-2.5.0.80-Ubuntu18.04-arm64-pkg.tar.gz
cd spinnaker-2.5.0.80-arm64
./install_spinnaker_arm.sh

在这个过程中出现了第一个错误,我可以通过在docker容器中安装iputils-ping和lsb-release来修复:

apt install iputils-ping
apt install -y lsb-release

然而,后来又出现了另一个错误:

/var/lib/dpkg/tmp.ci/preinst: 28 /var/lib/dpkg/tmp.ci/preinst: errmsg: not found
dpkg: error processing archive libspinnaker_2.5.0.80_arm64.deb (--install):
new libspinnaker package pre-installation script subprocess returned error exit status 127
ping: zone2.flir.net: No address associated with hostname

Errors were encountered while processing:
  libspinnaker_2.5.0.80_arm64.deb

我认为这是容器内的网络问题,但我确实有互联网连接,我检查了:

ping www.google.com

有没有人能给我一个建议,为什么我不能在我的docker容器中安装spinnaker SDK?或者给我一个解释,什么是“没有与主机名关联的地址”?我感谢任何方向的每一个提示。也许这是一个问题,因为我把我的docker数据文件夹移动到一个外部SD卡?

c0vxltue

c0vxltue1#

我今天遇到了同样的问题。问题不是ping,而是安装程序无法打印许可证以供审批。在preinst的第28行,脚本试图使用errmsg打印错误,但该命令不存在,导致代码段开头出现以下错误:

/var/lib/dpkg/tmp.ci/preinst: 28 /var/lib/dpkg/tmp.ci/preinst: errmsg: not found

查看preinst脚本(我使用Archive Manager解压缩了.deb),我们发现真正的问题是它无法显示许可证:x1c 0d1x
通过执行以下操作,我能够在docker build期间成功安装:
1.确保在您的环境中设置DEBIAN_FRONTEND=noninteractive(这将触发加载许可证失败)
1.在dockerfile中显式运行dpkg/apt-get安装步骤(不要使用install_spinnaker.sh,因为它有几个地方需要输入)。(echo "yes" && cat) | dpkg -i libspinnaker_*.deb,它将为您接受许可证。注意,您可能需要重新实现install_spinnaker.sh中的所有配置步骤(udev修改等)。(我有一个GigE相机,所以我不必担心USB。

相关问题