我正在使用docker run
运行check_call()
命令,但是在弄清楚如何访问应用程序文件时遇到了麻烦。
我目前有类似的东西
check_call(['docker', 'run', <other stuff>, 'python path/to/script/my_script.py'])
在我的本地计算机上,文件列在/Users/AlanH/Apps/.../MyApp/scripts/my_script.py
下
在docker容器中执行此脚本的路径是什么?
答案 0 :(得分:1)
由于Docker容器的环境与主机已隔离,因此您需要传递特定的docker run
选项-v /host/path:/container/path
来设置所谓的“绑定安装” “。
然后,您的check_call
命令应相应起作用:
check_call(['docker', 'run', '-v', '/path/to/your_script.py:/usr/src/your_script.py', <other stuff>, 'python', '/usr/src/your_script.py'])
请注意,host path
和container path
不必相同。
在上面的示例中,绑定安装是一个文件,但也可能是一个目录。
有关更多信息,请参见doc of docker run
或bind mounts上的专用页面。