Python 运行docker时没有这样的文件或目录
我有一个python文件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.
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
时执行的