这可能会更通用,并且会为机器体系结构A构建体系结构B的映像。我当前想要创建一个具有很多Python依赖关系的映像。在树莓派上花费时间,但在Mac上速度更快。当我最终得到一个错误需要重建。有没有办法在Mac上构建这个图像,然后把它拉到我的覆盆子pi?Docker - 在Mac上构建rpi图像
6
A
回答
8
模拟完整的备用架构通常非常缓慢。 QEMU可以让你在Linux上做到这一点,并且可以集成到Docker容器中。
对于建筑物,您可以使用比完整模拟快得多的QEMU User Emulation。这允许您的硬件直接执行ARM二进制文件,并用于简化交叉编译和交叉调试。
第一个get VirtualBox和get Vagrant并安装。 (或者使用docker-machine
从Docker Toolbox)
设置你的虚拟机
mkdir raspbian-docker
cd raspbian-docker
vagrant init debian/jessie64
vagrant up
vagrant ssh
现在你对你的Debian Linux的虚拟机,设置泊坞窗主机
sudo su -
apt-get install qemu-user-static
curl https://get.docker.com/ | sh
运行一个raspbian环境
docker run -ti \
--volume /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static \
philipz/rpi-raspbian \
bash
并做你需要的。
然后你可以docker export
和docker import
来移动图像。您还可以使用the hub或setup a registry使用push
/pull
的Docker Toolbox也将让你轻松通过VirtualBox的虚拟机在Mac上运行的码头工人,但我碰到更多的麻烦比它是值得(当你有游民设置)。
0
您可以派生RPI的发行建设者和自定义您的需求:https://github.com/RPi-Distro/pi-gen 它使用的码头工人的qemu-debootstrap的,类似于马特的答案。
如果您计划为arm架构构建Docker镜像,则qemu-debootstrap将无济于事。在这种情况下,您可以直接在ARM服务器上运行Docker构建,例如Scaleway提供的构建。
我的CI服务器运行上述组合,以连续构建带预先加载的armh docker镜像的操作系统映像。然后,device-init负责将码头导出程序加载为码头图像。 缺点是在第一次启动后,device-init可能需要几小时才能预加载docker镜像。
相关问题
- 1. 如何在Docker上构建图像?
- 2. Docker在mac上构建2.1+版本
- 3. 构建和上传图像到Docker Hub,如何从Docker Compose?
- 4. 在英特尔机器上构建ARM体系结构的Docker镜像(Mac)
- 5. rpi gpio节点在Mac上不存在
- 6. 无法在Docker上创建mongodb图像
- 7. 用rstan在摇杆/诗句上构建Docker图像
- 8. 在Ubuntu上构建v8(docker)
- 9. Spotify docker maven构建多个图像
- 10. 为Docker父图像设置http_proxy构建
- 11. Docker在mac上构建ssl错误El Capitan
- 12. 试图在mac上构建pycairo 10.8
- 13. 在Mac上将Docker图像推送到Google Container注册失败
- 14. 在mac上构建aosp 10.12
- 15. 在mac上构建iotivity
- 16. 在Jenkins中构建Docker镜像(在Docker镜像中) - Cloud Docker代理
- 17. 由docker-compose构建与docker构建生成的docker镜像有什么不同?
- 18. docker:在Jenkins上没有找到命令在Mac上构建和发布插件
- 19. 为什么docker从docker文件构建图像会在不正确地构建出口时创建容器?
- 20. 如何在RPi上构建DJI OnBoard SDK示例?
- 21. Docker图像如何在本地构建,但不在远程目标上?
- 22. 使用Makefile逐步构建Docker图像层次结构
- 23. Tkinter的图像(在Mac上)
- 24. 如何构建Docker镜像自己的图像
- 25. Docker镜像无法在Google Container Registry上构建
- 26. Gradle构建docker镜像在重复库上失败
- 27. 为什么Docker Mongo在图像构建期间拒绝连接
- 28. Docker和NGINX - 在Docker构建时未在上游找到主机
- 29. Docker + Kubernetes构建
- 30. 在码头上构建图像
简单而好的解决方案,它的工作原理...我喜欢它,谢谢。 – Clempat
我也发现https://www.scaleway.com/。我无法注册。没有邀请,但看起来很有趣用于此目的... – Clempat