How can enable udev sync successfully in docker?

别说谁变了你拦得住时间么 提交于 2019-12-05 05:21:47

I can't reproduce your issue; I get the following:

(gdb) disassemble dm_udev_set_sync_support
Dump of assembler code for function dm_udev_set_sync_support@plt:
   0x0000000000403420 <+0>:     jmpq   *0xda8c92(%rip)        # 0x11ac0b8 <dm_udev_set_sync_support@got.plt>
   0x0000000000403426 <+6>:     pushq  $0x14
   0x000000000040342b <+11>:    jmpq   0x4032d0

Do yourself a favor: Ignore the builds that docker.io does, and get Docker directly from RHEL. It's available in the Extras channel. While it will usually be a few weeks behind upstream releases (e.g. 1.6 instead of 1.7) it is also well-tested and guaranteed to actually work.

Revising my original answer after some useful feedback:

You have to use a dynamic binary: "The issue of course being that with a statically linked binary, udev sync is impossible, and as such can cause corruption issues. This was difficult for RedHat (who maintains the devicemapper driver) to pinpoint because they use a dynamically linked binary (which they provide in their repos).

Just after the 1.7.0 release docker started providing rpms and debs with dynamically linked binaries from the main install script @ get.docker.com (and apt repos to match). With these binaries udev sync is supported and devicemapper should work fine."

Docker has fortunately changed its repositories to provide dynamic binaries since the OP was created.

reference: https://github.com/docker/docker/issues/13179

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!