我可以在AMD64机器上为树莓Pi构建Docker容器吗?

我可以在AMD64机器上为树莓Pi构建Docker容器吗?,docker,Docker,我正在探索在Raspberry PI上使用Docker容器来帮助管理对我的应用程序及其运行的NodeJS版本的升级 我想知道建造这些容器的最佳方法是什么。我可以在生产机器中构建容器,但如果我可以从(比如)最新的armvf nodejs映像开始,并在我的家庭桌面(Debian AMD64)或笔记本电脑(OSX)上添加应用程序源(以及npm模块和bower组件),构建一个新的映像,这将更加方便或者是我工作时可用的Windows7机器。我不需要运行容器,只需要构建它们 一个小问题是代码需要保密,所以我

我正在探索在Raspberry PI上使用Docker容器来帮助管理对我的应用程序及其运行的NodeJS版本的升级

我想知道建造这些容器的最佳方法是什么。我可以在生产机器中构建容器,但如果我可以从(比如)最新的armvf nodejs映像开始,并在我的家庭桌面(Debian AMD64)或笔记本电脑(OSX)上添加应用程序源(以及npm模块和bower组件),构建一个新的映像,这将更加方便或者是我工作时可用的Windows7机器。我不需要运行容器,只需要构建它们


一个小问题是代码需要保密,所以我不能将生成的容器放在任何公共存储库中。我可以确保容器具有可管理的名称,并且可以在机器之间复制它们吗?

AFAIK容器与体系结构无关。您应该能够在一台具有不同体系结构的主机上修改它们,但将无法进入。输入基本上意味着在容器的上下文中执行程序(例如shell)。由于容器的外壳在主机上不可执行,因此这将不起作用。因此,在容器内进行交叉编译也是没有选择的

但是,如果您在外部进行交叉编译,您应该能够将可执行文件添加到映像中,将其移动到pi并运行它


您可以使用或使用
docker save IMAGE>IMAGE.tar将图像存储在tarball中,将其移动到pi,然后使用
docker load-i IMAGE.tar
将其还原。AFAIK容器与体系结构无关。您应该能够在一台具有不同体系结构的主机上修改它们,但将无法进入。输入基本上意味着在容器的上下文中执行程序(例如shell)。由于容器的外壳在主机上不可执行,因此这将不起作用。因此,在容器内进行交叉编译也是没有选择的

但是,如果您在外部进行交叉编译,您应该能够将可执行文件添加到映像中,将其移动到pi并运行它

您可以在不使用任何公共存储库的情况下使用移动docker图像,也可以使用
docker save IMAGE>IMAGE.tar
将图像存储在tarball中,将其移动到pi,然后使用
docker load-i IMAGE.tar
将其还原