如何解决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
我正在跑步:
- Windows 10 企业版 2004
- Docker 桌面 3.0.0
解决方法
这似乎是 WSL 2 与旧基础镜像的问题,而不是 docker 或镜像本身。
-
创建
%userprofile%\.wslconfig
文件。 -
添加以下内容:
[wsl2]
kernelCommandLine = vsyscall=emulate
-
重启 WSL。
wsl --shutdown
-
重启 Docker 桌面。
参考文献:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。