我对 Docker 比较陌生,作为一个实验,我尝试使用以下 Dockerfile 创建一个通用的 Django 开发容器:
FROM python
ENV PYTHONUNBUFFERED 1
RUN apt-get update && apt-get dist-upgrade -y
RUN mkdir /code
WORKDIR /code
RUN python3 -m venv djangoProject
RUN /bin/bash -c "source /code/djangoProject/bin/activate && python3 -m pip install --upgrade pip && pip install django"
EXPOSE 8000
Run Code Online (Sandbox Code Playgroud)
图像似乎构建得很好,但是当我去运行容器时:
docker container run -v /home/me/dev/djangoRESTreact/code:/code -it --rm djangodev /bin/bash
Run Code Online (Sandbox Code Playgroud)
我的本地挂载 /home/me/dev/djangoRESTreact/code 未填充我期望从此 Dockerfile 和挂载中获得的 djangoProject venv 目录。docker 容器在 /code 处还有一个空目录。python3 -m venv djangoProject如果我直接在容器内运行,则会创建 venv 目录,并且我可以在主机上和容器内看到它。
知道为什么我的 venv 没有在映像和后续容器中创建吗?
我正在拔头发。
提前致谢!