1

我正在尝试在基于 boot2docker的 OpenFOAM docker-machine 映像上安装一些软件包。运行uname -a命令时,我得到以下信息:

Linux 默认 4.4.111-boot2docker #1 SMP Thu Jan 11 16:25:31 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

这个页面中,已经解释了 boot2docker 发行版是基于该Tiny Core Linux发行版的,因此要安装一个软件包,必须:

  1. 检查Tiny Core Linux 软件存储库页面
  2. 使用命令tce-load -w -i packagename.tcz安装

我按照这些步骤安装了 git。但我得到了错误:

bash:tce-load:找不到命令

我搜索并按照此处的解释显然官方存储库已脱机。提供了镜像列表。但我不知道如何从这些镜像安装包!

PS 或者,在这里,OP 给出了一个奇怪的答案,但目前尚不清楚他/她跑步的意思boot2docker ssh

如果您能帮助我了解问题所在以及如何解决,我将不胜感激。

4

1 回答 1

0

2021 年 10 月 12 日更新:

uname -a现在我对为什么返回它的作用有了更好的理解。基本上,所有 docker 容器与主机 Linux 操作系统共享相同的内核(参考)。要知道容器的操作系统是什么,一个安全的选项是cat /etc/issue参考)。此外,似乎一些新的“官方”OpenFOAM 容器基于 Ubuntu,没有任何管理员密码。所以一个人可以安装新的包apt/ apt-get/...

新的/正确的:

感谢ESI Group 的 Pawan GhildiyalOpenCFD Limited 的 Karen Kettle,我找到了正确的解决方案。

似乎整个 OpenFOAM docker 镜像不是基于CentOSnot的boot2docker,并且可以使用yum! 因为使 docker 能够运行的小型虚拟盒接口被命名为 boot2docker,所以它boot2dockeruname -a. 您只需要root在 docker 终端中使用用户:

  1. 运行Docker QuickStart Terminal(我正在使用 Windows)
  2. docker start of_1712
  3. docker exec -ti of_1712 /bin/bash
  4. su -然后是默认密码,在这种情况下fuser2017
  5. yum install packageName

旧的/错误的:

正如这里所解释的,事实证明 Docker 不赞成使用Boot2Docker命令行,而支持docker-machine. 所以这里提供的答案也是贬值的。

解决方案:

  1. 使用命令docker-machine ssh machinename(在我的例子machinename中是default)连接到 docker-machine 映像。

  2. 正如这里所解释的,运行命令version并在正确的存储库中查找包名称。在我的情况下,版本是8.2.1,存储库是http://repo.tinycorelinux.net/8.x/x86/tcz/

  3. 然后运行命令tce-load -w -i packagename.tcz

由于某种原因,OpenFOAM 团队提供的官方OpenFOAM_Start批处理文件不起作用!

于 2018-01-23T19:24:34.107 回答