我最近在计算机上安装了Manjaro,并且正在做一些测试。 我试图构建和启动一个可以在Windows,Mac OS,Ubuntu等操作系统上完美运行的Docker。
但是当我运行sudo docker-compose up
时,我得到一个错误。
除了最后,一切似乎都正常:
Successfully built d72aa4c69ad6
Successfully tagged code_interface:latest
WARNING: Image for service interface was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating code_db_1 ... done
Creating code_web_1 ... done
Creating code_interface_1 ... done
Attaching to code_db_1, code_web_1, code_interface_1
code_db_1 exited with code 139
这是我的docker-compose.yml的样子:
db:
image: mongo:3.0.2
ports:
- "27017:27017"
web:
build: X
ports:
- "5000:5000"
links:
- db
interface:
build: Y
ports:
- "8080:8080"
links:
- web
知道为什么我会收到此错误或如何解决该错误吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
这可能与您计算机的内核版本有关,如this issue中所述:
这可能与4.11内核中vsyscall链接的更改有关。尝试使用vsyscall = emulate引导内核,看看是否有帮助。确实可以在linuxkit 4.11内核配置下正常运行,没有问题,因此与配置有关。
尝试从this comment实施解决方案:
嗨,在/ etc / default / grub中指定此命令:
GRUB_CMDLINE_LINUX_DEFAULT =“ vsyscall =仿真”
让我们知道它是否可以为您解决问题。
答案 2 :(得分:0)
最后使它起作用。
我必须将内核更新到最新版本(从4.19.16-1到4.20.3-1)。 真的不知道为什么。