如何访问Docker容器中的应用程序文件?

时间:2019-08-16 18:34:34

标签: python docker

我正在使用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容器中执行此脚本的路径是什么?

1 个答案:

答案 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 pathcontainer path不必相同。

在上面的示例中,绑定安装是一个文件,但也可能是一个目录。

有关更多信息,请参见doc of docker runbind mounts上的专用页面。