Docker 如何在运行时通过传递env变量动态设置工作目录?

Docker 如何在运行时通过传递env变量动态设置工作目录?,docker,kubernetes,Docker,Kubernetes,下面是我正在创建的图像的Dockerfile的外观 FROM python:3.7-alpine COPY requirements.txt / RUN pip install -r /requirements.txt ENV U_PATH="a" WORKDIR $U_PATH 当我使用docker run-it-e U_PATH=/mnt temp:v1/bin/sh调用env变量U_PATH时,我重写了它,但是WORKDIR是在构建时设置的,我不能在运行时更改它 有没有办法在运行时通过传

下面是我正在创建的图像的Dockerfile的外观

FROM python:3.7-alpine
COPY requirements.txt /
RUN pip install -r /requirements.txt
ENV U_PATH="a"
WORKDIR $U_PATH
当我使用docker run-it-e U_PATH=/mnt temp:v1/bin/sh调用env变量U_PATH时,我重写了它,但是WORKDIR是在构建时设置的,我不能在运行时更改它


有没有办法在运行时通过传递一个env变量来动态设置工作目录?

虽然不是环境变量,但别忘了可以通过


虽然不是环境变量,但不要忘记可以通过


没有自定义入口点脚本就不能。但你为什么要这么做?我通常认为文件系统路径是容器的外部接口的一部分,它的合理性足以指定外部数据存储总是安装在数据上或其他一些简单的路径上。但你为什么要这么做?我通常认为文件系统路径是容器外部接口的一部分,它足够合理地指定外部数据存储总是安装在数据上或其他一些简单的路径上。
containers:
- name: foo
  image: 'temp:v1'
  workingDir: /mnt