我正在使用 Nvidia RAPIDS docker 容器。当我直接运行他们的 docker 时,我可以看到容器已启动并正在运行:
docker run --gpus all --pull always --rm -it -d --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 rapidsai/base:24.12-cuda12.5-py3.12
表演
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a8732f6b7c6 rapidsai/base:24.12-cuda12.5-py3.12 "/home/rapids/entryp…" 3 seconds ago Up 2 seconds happy_brahmagupta
现在这个容器没有我想要的特定二进制文件。例如,
vim
。所以我创建了一个使用此图像的新Dockerfile
:
FROM rapidsai/base:25.02a-cuda11.8-py3.12-amd64
WORKDIR /home/rapids
CMD ["apt-get", "install", "vim"]
当我构建并运行图像时,我看到没有容器在运行:
docker run --gpus all --pull always --rm -it -d --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 samanaghazadeh/custom-docker
给我
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
如果我在命令末尾添加
/bin/bash
,我可以看到容器正在运行。但是,我无法运行 vim。看起来CMD ["apt-get", "install", "vim"]
甚至没有被执行。
我对 Docker 很陌生,无法理解我做错了什么。
在
RUN
命令中使用 apt-get 安装 vim。
# Use the existing rapidsai/base image as the base
FROM rapidsai/base:25.02a-cuda11.8-py3.12-amd64
# Update package lists and install vim
RUN apt-get update && \
apt-get install -y vim && \
rm -rf /var/lib/apt/lists/*
# (Optional) Set the default command if needed
# This step is usually unnecessary unless you want to override the base image's CMD or ENTRYPOINT
# CMD ["bash"]
然后您可以构建图像
docker build -t rapidsai-with-vim:latest .
并运行图像
docker run -it rapidsai-with-vim:latest bash
进入容器后,尝试启动 vim:
vim --version