Python 运行docker时没有这样的文件或目录

Python 运行docker时没有这样的文件或目录,python,docker,Python,Docker,我有一个python文件server.py,它只读取LOGS\u PATH环境变量,并使用它来创建目标的LOGS目录 logs_path = os.getenv("LOGS_PATH", "/logs/proxy.log") fileHandler = logging.FileHandler(logs_path) 我的docker文件有以下内容,请注意,我创建了日志目录和proxy.log文件 EXPOSE 8000 CMD mkdir /logs CMD touch /logs/proxy.

我有一个python文件
server.py
,它只读取
LOGS\u PATH
环境变量,并使用它来创建目标的LOGS目录

logs_path = os.getenv("LOGS_PATH", "/logs/proxy.log")
fileHandler = logging.FileHandler(logs_path)
我的docker文件有以下内容,请注意,我创建了日志目录和
proxy.log
文件

EXPOSE 8000
CMD mkdir /logs
CMD touch /logs/proxy.log

CMD python server.py
然后我构建docker映像并运行它,如下所示

docker build -t rank
docker run --rm -it --net=host -p 8000:8000 --env-file=.env-co --name=rank rank
但当我运行它时,它爆炸了。它说,
IOError:[Errno 2]没有这样的文件或目录:'/logs/proxy.log'

CMD
RUN
是不同的东西。如下所示:

EXPOSE 8000
RUN mkdir /logs
RUN touch /logs/proxy.log

CMD python server.py
CMD是运行时表示容器的命令,一个图像只能有一个CMD(最后一个是唯一有效的)。运行是在您执行
docker build
时执行的