我目前有一个Python应用程序在Ubuntu 20.04的Docker容器中运行。
在这个Python应用程序中,我希望每隔几分钟创建一个文本文件,以便在Ubuntu服务器上的其他应用程序中使用,但是,我发现从容器化Python应用程序内部创建一个文件并将其保存在服务器上是一个挑战。
应用程序Dockerfile/start.sh/main.py文件驻留在/var/www/my_app_name/中,我希望将www.example.com创建的output.txt文件main.py放在同一个文件夹中,即Dockerfile/main.py源代码的位置。
这个文本文件是用Python中的一行代码创建的:
text_file = open("my_text_file.txt", "wt")
我发现最好的方法是使用一个卷。我当前的docker run
是由批处理脚本start.sh
调用的,它包括以下行:
docker run -d --name=${app} -v $PWD:/app ${app}
然而,我没有太多的运气,文件没有创建在www.example.com所在的工作目录中main.py。
1条答案
按热度按时间2ul0zpep1#
绑定挂载是一种可行的方法,您的
-v $PWD:/app
应该可以工作。如果运行类似于
在当前目录中会得到一个名为
hello.txt
的文件。该命令运行一个Alpine映像,将当前目录Map到容器中的
/app
,然后将“Hello”回显到容器中的/app/hello.txt
。