Docker容器重新启动(132),指令无效(内核已转储)
2 个回答
- 投票数
-
- 2019-03-05
我相信这是由于某些OCaml模块的构建问题,该模块在构建时会检查硬件架构.这会泄漏到Docker映像中,当运行不同的arch时会抛出
Illegal instruction
.解决方案是在要运行它的基础设施/硬件上自行构建Tezos Docker映像.您可以在此处找到可用的Dockerfile.
更新
在此处添加了声明性的Dockerfile
Dockerfile-ubuntu
是适合您的一个,还请确保在您需要运行的硬件上构建.应当与官方图片相同(使用entrypoint.sh等)I believe this is because of a build issue with some OCaml module that checks hardware architecture at build time This leaks into the Docker images which throws
Illegal instruction
when run a different arch.You can read more about it here and here.
The solution is to build the Tezos Docker image yourself on the infra/hardware you want to run it. You can find a working Dockerfile here.
UPDATE
Added some declarative Dockerfile's here
TheDockerfile-ubuntu
is the one for you, also make sure to build on the hardware you need to run. Should work the same as the official images (using entrypoint.sh etc.)-
链接的问题似乎正是我所遇到的问题.感谢那!我从Dockerfile构建了Tezos,并从映像启动了一个容器.现在,它正在做同样的事情-核心转储.我还是很困惑.The linked issues seem to be exactly what I'm experiencing. Thanks for that! I built Tezos from the Dockerfile and fired up a container from the image. Now it's doing the same thing - core dump. I'm still puzzled.
- 0
- 2019-03-05
- Rob Hitchens
-
奇怪!那为我解决了这个问题.您是否在试图运行docker run的同一台计算机上进行了dockerbuild?Strange! That solved it for me Did you `docker build` on the same machine where you are trying to `docker run` ?
- 0
- 2019-03-05
- asbjornenge
-
谢谢,是的,我做到了.我将尝试更新后的答案.Thanks, yes I did. I'll give the updated answer a try.
- 0
- 2019-03-05
- Rob Hitchens
-
@RobHitchens告诉我该基于ubuntu的文件是否有帮助,我可以将一个合适的文件整理到最后一个与其他文件相同的部分@RobHitchens let me know if that ubuntu based file helped, and I can put together a proper one with a final part that will work same as the others
- 1
- 2019-03-05
- asbjornenge
-
万一你突然跳出来,我做了`dockerbuild .`,然后`docker run -t -ttezos/tezos:alphanettezos-node`.现在正在研究新建议.In case something jumps out at you, I did `docker build .`, then `docker run -t -t tezos/tezos:alphanet tezos-node`. Working on the new suggestion now.
- 0
- 2019-03-05
- Rob Hitchens
-
啊,您仍然从集线器运行旧的tezos映像,然后需要执行以下操作:dockerbuild -t rob/tezos:alphanet.然后docker run -rm -it rob/tezos:alphanet映像名称rob/tezos:alpanet`可以是`owner/image:version`格式的任何东西Ah, you are still running the old tezos image from hub then You need to do: `docker build -t rob/tezos:alphanet .` and then `docker run -rm -it rob/tezos:alphanet` The image name `rob/tezos:alpanet` can be anything in the format `owner/image:version`
- 0
- 2019-03-05
- asbjornenge
-
这样可行.您更新后的答案中的Dockerfile(阿尔卑斯山?)已使一个看起来稳定的容器.这是我们要找的线索吗?:-)That works. The Dockerfile in your updated answer (alpine?) has made a container that seems stable. Is that the clue we're looking for? :-)
- 0
- 2019-03-06
- Rob Hitchens
-
让我们[继续聊天中的讨论](https://chat.stackexchange.com/rooms/90649/discussion-between-rob-hitchens-and-asbjornenge).Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/90649/discussion-between-rob-hitchens-and-asbjornenge).
- 0
- 2019-03-06
- Rob Hitchens
-
- 2019-03-06
我记得几个月前在alphanet中遇到了相同的问题.我相信事实证明,Docker映像的编译方式在某些硬件配置上失败了.我无法找到gitlab问题/确切问题的提交,但是 https://gitlab.com/tezos/tezos/issues/220 相关.
I recall encountering the same problem in alphanet months ago. I believe it turned out that the docker image had been compiled in a way that failed on some hardware configurations. I have not been able to find gitlab issues/commits for exactly the problem, but https://gitlab.com/tezos/tezos/issues/220 is related.
我一直在Ubuntu上遇到带有alphanet和docker的show-stopper.我怀疑这是我设置时一贯忽略的事情.我的docker容器只运行一两秒钟,然后重新启动(132).
有些开玩笑使我相信他们马上就从恐慌中重新开始.
我已经尝试过Ubuntu 16.04. 18.04,virtualBox MV和vmWare,甚至是AMD和Intel. 4-6个处理器和4-8GB RAM.结果总是一样.
其他docker容器运行愉快.
这里有一张图片,以防万一.
这是容器的代表性码头工人日志:
如果有任何想法或建议,我将非常感谢.