You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04 WSL2环境下Docker镜像构建失败求助

问题:Docker构建RUN阶段安装mysql-client失败

本地使用Docker Desktop,基于Ubuntu 18.04版本的WSL2发行版构建Docker镜像时,基础镜像拉取成功,但在RUN执行apk安装mysql-client步骤失败,尝试多种方案未解决,相关文件及日志如下:

Dockerfile内容

FROM alpine:3.14
RUN apk add --no-cache mysql-client
ENTRYPOINT ["mysql"]

错误日志

root@LAPTOP-BOSTG8L5:/home/abilash/alpine1# docker build .
[+] Building 14.4s (5/5) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                    0.0s
 => => transferring dockerfile: 118B                                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/alpine:3.14                                                                                                                                          3.3s
 => [1/2] FROM docker.io/library/alpine:3.14@sha256:4c869a63e1b7c0722fed1e402a6466610327c3b83bdddb94bd94fb71da7f638a                                                                                    0.7s
 => => resolve docker.io/library/alpine:3.14@sha256:4c869a63e1b7c0722fed1e402a6466610327c3b83bdddb94bd94fb71da7f638a                                                                                    0.0s
 => => sha256:dd53f409bf0bd55eac632f9e694fd190244fef5854a428bf3ae1e2b636577623 1.47kB / 1.47kB                                                                                                          0.0s
 => => sha256:c7ed990a2339ee598662849de4f56e2241399f5a32340c8c4a7bbd5378a12b5f 2.83MB / 2.83MB                                                                                                          0.6s
 => => sha256:4c869a63e1b7c0722fed1e402a6466610327c3b83bdddb94bd94fb71da7f638a 1.64kB / 1.64kB                                                                                                          0.0s
 => => sha256:92d13cc58a46e012300ef49924edc56de5642ada25c9a457dce4a6db59892650 528B / 528B                                                                                                              0.0s
 => => extracting sha256:c7ed990a2339ee598662849de4f56e2241399f5a32340c8c4a7bbd5378a12b5f                                                                                                               0.1s
 => ERROR [2/2] RUN apk add --no-cache mysql-client                                                                                                                                                    10.3s
------
 > [2/2] RUN apk add --no-cache mysql-client:
#4 0.293 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#4 5.299 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#4 5.299 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/main: temporary error (try again later)
#4 10.30 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/community: temporary error (try again later)
#4 10.30 ERROR: unable to select packages:
#4 10.30   mysql-client (no such package):
#4 10.30     required by: world[mysql-client]
------
executor failed running [/bin/sh -c apk add --no-cache mysql-client]: exit code: 1

解决思路

  • 修复网络访问问题:日志显示无法访问Alpine官方源,优先排查WSL2网络连通性。可在WSL终端执行ping dl-cdn.alpinelinux.org测试连通;也可在Dockerfile中替换为国内镜像源后再安装:
    FROM alpine:3.14
    RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk add --no-cache mysql-client
    ENTRYPOINT ["mysql"]
    
  • 替换为兼容包名:Alpine部分版本中,MySQL客户端由MariaDB提供,可尝试安装mariadb-client(同样包含mysql命令):
    FROM alpine:3.14
    RUN apk add --no-cache mariadb-client
    ENTRYPOINT ["mysql"]
    
  • 更新基础镜像版本:Alpine 3.14属于旧版本,官方源可能停止维护或访问不稳定,换成较新的稳定版本(如alpine:3.18或alpine:latest)重新构建。

内容的提问来源于stack exchange,提问作者Abilash Krishnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 00:55:31