首页 > 解决方案 > Docker 无法使用退出代码 139 构建映像

问题描述

我正在尝试从 CentOS 6.9 构建图像。使用这个 Dockerfile:

FROM centos:6.9

RUN ls

但它不断失败,退出代码为 139,输出如下:

$ docker build -t centos-6.9 .
[+] Building 1.1s (7/7) FINISHED
 => [internal] load build definition from Dockerfile                                                                                             0.0s 
 => => transferring dockerfile: 72B                                                                                                              0.0s 
 => [internal] load .dockerignore                                                                                                                0.0s 
 => => transferring context: 2B                                                                                                                  0.0s 
 => [internal] load metadata for docker.io/library/centos:6.9                                                                                    0.6s 
 => [internal] load build context                                                                                                                0.1s 
 => => transferring context: 72B                                                                                                                 0.0s 
 => CACHED [1/3] FROM docker.io/library/centos:6.9@sha256:6fff0a9edc920968351eb357c5b84016000fec6956e6d745f695e5a34f18ecd2                       0.0s 
 => [2/3] COPY . .                                                                                                                               0.0s 
 => ERROR [3/3] RUN ls                                                                                                                           0.3s 
------
 > [3/3] RUN ls:
------
executor failed running [/bin/sh -c ls]: exit code: 139

我在跑:

标签: dockercentoscentos6wsl-2

解决方案


这似乎是 WSL 2 与较旧基础映像的问题,而不是 docker 或映像本身。

  1. 创建%userprofile%\.wslconfig文件。

  2. 添加以下内容:

[wsl2]
kernelCommandLine = vsyscall=emulate
  1. 重新启动 WSL。wsl --shutdown

  2. 重新启动 Docker 桌面。

参考:

  1. https://github.com/microsoft/WSL/issues/4694#issuecomment-556095344
  2. https://github.com/docker/for-win/issues/7284#issuecomment-646910923
  3. https://github.com/microsoft/WSL/issues/4694#issuecomment-558335829

推荐阅读