所以我构建了一个docker镜像文件,现在当我尝试运行它时,它会给我错误:
运行映像失败。错误:(HTTP代码400)意外-无法为容器创建任务:无法创建填充任务:OCI运行时创建失败:runc创建失败:无法启动容器进程:exec:“jupyter”:在$PATH中找不到可执行文件:未知
Dockerfile:
FROM python:3.10-slim-bullseye
WORKDIR /project_dir
RUN apt-get update \
&& apt-get install -y build-essential unzip \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN pip install kaggle
COPY requirements.txt /project_dir/
RUN pip install --no-cache-dir -r requirements.txt
COPY kaggle.json /root/.kaggle/kaggle.json
RUN chmod 600 /root/.kaggle/kaggle.json
RUN kaggle datasets download -d odins0n/ucf-crime-dataset -p /app/kaggle_dataset/ \
&& unzip /app/kaggle_dataset/ucf-crime-dataset.zip -d /app/kaggle_dataset/ \
&& rm /app/kaggle_dataset/ucf-crime-dataset.zip
COPY . /project_dir/
CMD ["jupyter", "notebook", "--ip='*'", "--port=8888", "--no-browser", "--allow-root"]
所以现在我必须修改我的dockerfile并在其中包含pip install jupyter
。现在我想知道是否有任何方法可以加快构建过程,或者直接跳过它,直接在容器中安装xmlyter。
1条答案
按热度按时间yshpjwxd1#
一个容器就是一个运行的镜像。您可以向容器中添加任何内容,但这些更改不是持久性的。在这种情况下,你想坚持你的修正,所以你必须重建图像;换句话说,你必须修改 * 图像 *,而不是 * 容器 *。Docker就是这样工作的。一旦你有了一个正确的镜像,你就可以在任何环境中创建容器。
但是请注意,Docker构建缓存将帮助您加快构建过程:
Dockerfile
中在你修正之前的行将在第一次构建之后快速执行。