image - 如何解决退出代码 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 内存不足以运行图像
有什么方法可以成功运行这个图像吗?
解决方案
您需要在 Windows 上的文件夹下创建一个名为 .wslconfig 的文件,然后将以下行%userprofile%
复制到该文件中
[wsl2]
kernelCommandLine = vsyscall=emulate
然后重启你的 Docker 引擎。
推荐阅读
- python - 为什么python字典只更新最后附加的值?
- r - 在 R 列中取消嵌套 json 数据
- reactjs - 如何在firebase中使用文件.ts与项目反应?
- javascript - 图片上传 onClick 不打开图片库窗口
- ruby-on-rails - 升级后 Searchkick 无法将索引映射到模型
- mysql - 如何执行 mysql 连接查询以获取 b/w 2 个表的匹配值,然后过滤第三个表中不存在的值?
- javascript - 使用 cypress 从复杂层次结构中获取元素
- python-3.x - 如何求解 a+b 方程?
- r - 错误“***未在此范围内声明”
- angular - 在 ng build 或 ng serve 时以角度下载翻译文件