起因:
最近在使用 bilive_client挂B站的直播和主站日常任务,由于每次更新都需要重新编译+管理node环境太麻烦,所以开始使用Docker
遇到的坑:
首先,Google一下找到了这个https://github.com/docker/hub-feedback/issues/1261 和 https://github.com/davidecavestro/mariadb-docker-armhf 这个示例,按照里面说的在Dockerfile同级目录下建立hooks文件夹,并放入post_checkout
和pre_build
1 | hooks |
pre_build
1 | #!/bin/bash |
post_checkout
1 | #!/bin/bash |
然后在Dockerfile里加入一行
1 | COPY qemu-arm-static /usr/bin |
然而并没有卵用
检查日志,发现Autobuild提示no such a file or dictionary
(黑人问号.jpg)这就让人头疼了
继续Google,发现有人已经反馈过这个情况 https://forums.docker.com/t/resolved-automated-docker-build-fails/22831 官方确认是Bug而且被标记为已解决(再次黑人问号.jpg)
解决了个卵啊?
没办法了,直接上二段构建
先把qemu-***-static
放到项目里,如果是(ARMv8 64)使用qemu-aarch64-static
Dockerfile
1 | # 这里用什么镜像都可以,反正不会影响到最终输出的镜像,我使用的是alpine,如果用debian-stretch需要自己更改下面的内容 |
最后,附上Github地址 https://github.com/Disappear9/bilive_client_docker 欢迎参考
DockerHub地址 https://hub.docker.com/r/disappear9/bilive_client
还有一些问题
Autobuild只有在Github有push时才会触发,这就很尴尬,在源码更新时需要手动触发……
- 本文作者: Disappear9
- 本文链接: https://thinkalone.win/Docker-ARM.html
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!