首页 > 解决方案 > 如何解决退出代码 139,用于在带有 WSL2 Ubuntu 的 docker 中运行图像 cloudera/quickstart?

问题描述

我正在将 WSL2 与 Ubuntu 20.04 发行版一起使用,我正在尝试使用以下命令在 Docker 中创建一个容器:

docker run --hostname=quickstart.cloudera --privileged=true -it -v $PWD:/src --publish-all=true -p 8888:8888 -p 8080:8080 -p 7180:7180 cloudera/quickstart /usr/bin/docker-quickstart

当我运行这个命令时,下载开始时的大小约为 4.4 GB,(我认为这是因为我是第一次运行这个容器),当下载结束时,我使用以下命令检查容器当检查我的图像列表时docker ps -a,容器的状态是Exited (139) 6 minutes ago

    REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
uracilo/hadoop        latest    902e5bb989ad   8 months ago   727MB
cloudera/quickstart   latest    4239cd2958c6   4 years ago    6.34GB

我认为图像已成功创建,但是当我尝试运行第一个命令时,我一直处于Exited (139)状态,并且无法使用容器

显然退出代码 139 是指系统或硬件存在问题,可能是 RAM,但我不确定。而且我不知道这个问题是否是因为我使用 wsl 或我的 8GB 内存不足以运行图像

有什么方法可以成功运行这个图像吗?

标签: imagedockerubuntuwsl-2cloudera-quickstart-vm

解决方案


您需要在 Windows 上的文件夹下创建一个名为 .wslconfig 的文件,然后将以下行%userprofile%复制到该文件中

    [wsl2]
    kernelCommandLine = vsyscall=emulate

然后重启你的 Docker 引擎。


推荐阅读