我正在探索在Raspberry PI上使用Docker容器来帮助管理我的应用程序的升级以及它运行的NodeJS版本。
我想知道如何构建容器的最佳方法。我可以在生产机器中构建容器,但是如果我可以从(比如说)最新的armvf nodejs图像开始并使用添加的应用程序源(以及npm模块和bower组件)构建新图像,这将更加方便。我的家用台式机(Debian AMD64)或笔记本电脑(OSX)或我工作的Windows 7机器上的应用程序需求。我不需要运行容器,只需构建它们。
一个小问题是代码需要保密,因此我不能将生成的容器放在任何公共存储库中。我可以确保容器具有可管理的名称吗?我可以在机器之间复制它们吗?
答案 0 :(得分:2)
AFAIK容器与架构无关。您应该能够在具有不同体系结构的主机上修改它们,但无法输入它。输入基本上意味着在容器的上下文中执行程序(例如shell)。由于容器的shell在主机上不可执行,因此无法正常工作。因此,容器内的交叉编译也是没有选择的。
但是,如果您在外部进行交叉编译,则应该能够将可执行文件添加到图像中,将其移动到pi并运行它。
您可以使用private repository移动没有任何公共存储库的docker镜像,也可以使用docker save IMAGE > image.tar
将图像存储在tarball中,将其移至pi,然后使用docker load -i image.tar
恢复它。