docker build 过程中BuildKit 报错

 

问题

docker build 过程中 build kit报错

yxc@yxc-MS-7B89:~/code/3/vllm$ docker build -t yxc.vllm.cuda.1 .
Sending build context to Docker daemon  28.02MB
Step 1/54 : FROM nvidia/cuda:12.1.0-devel-ubuntu22.04 AS dev
 ---> 963712b8747f
Step 2/54 : RUN apt-get update -y     && apt-get install -y python3-pip git
 ---> Using cache
 ---> 50ac8ffcba92
Step 3/54 : RUN ldconfig /usr/local/cuda-12.1/compat/
 ---> Using cache
 ---> f52028037b08
Step 4/54 : WORKDIR /workspace
 ---> Using cache
 ---> f9e21e0763d2
Step 5/54 : COPY requirements-common.txt requirements-common.txt
 ---> Using cache
 ---> 48d7a48a1008
Step 6/54 : COPY requirements-cuda.txt requirements-cuda.txt
 ---> Using cache
 ---> 3d00035d3684
Step 7/54 : RUN --mount=type=cache,target=/root/.cache/pip     pip install -r requirements-cuda.txt
the --mount option requires BuildKit. Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled
yxc@yxc-MS-7B89:~/code/3/vllm$ 

解决:

这个问题提,“the –mount option requires BuildKit”,意味着你使用了–mount选项,但是没有启用Docker的BuildKit功能。BuildKit是Docker的一个现代化镜像构建工具,它提供了一些增强功能,如构建缓存的管理。

Docker 18.09 开始,是自带,但是不是默认开启

19.03+ 开始可以 docker build x 启用

临时启用

DOCKER_BUILDKIT=1 docker build -t yxc.vllm.cuda.1 .

永久启用

修改Docker的配置文件来永久启用BuildKit。在Docker配置文件/etc/docker/daemon.json中添加以下内容(如果文件不存在,则需要创建它):

   {
     "features": {
       "buildkit": true
     }
   }