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

我有一个python文件server.pyLOGS_PATH读取LOGS_PATH环境variables,并使用它来创build目标的日志目录。

 logs_path = os.getenv("LOGS_PATH", "/logs/proxy.log") fileHandler = logging.FileHandler(logs_path) 

我的docker文件有以下几点,注意我创build了logs目录和proxy.log文件。

 EXPOSE 8000 CMD mkdir /logs CMD touch /logs/proxy.log CMD python server.py 

然后我build立docker图像并运行它,如下所示。

 docker build -t rank docker run --rm -it --net=host -p 8000:8000 --env-file=.env-co --name=rank rank 

但是,当我运行它,它炸毁了。 它说IOError: [Errno 2] No such file or directory: '/logs/proxy.log'

CMDRUN是不同的东西。 这样使用:

 EXPOSE 8000 RUN mkdir /logs RUN touch /logs/proxy.log CMD python server.py 

CMD是运行时代表容器的命令,图像只能有一个CMD(最后一个是唯一有效的)。 执行docker build时,RUN会被执行。