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 容器中执行此脚本的路径是什么?
解决方案
由于 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'])
注意 thehost path
和 thecontainer path
不必相同。
在上面的示例中,绑定挂载是一个文件,但它也可以是一个目录。
有关更多信息,请参阅例如 的文档或docker run
绑定安装的专用页面。
推荐阅读
- javascript - 如何根据cropper js中的图像设置初始缩放幻灯片值
- java - spring boot api 启动失败
- vba - 分配变量以解决 VBA 中的行(Office 2019)
- python - 新用户在系统消息通道中加入服务器时如何发送消息?
- javascript - 使用 Lodash.remove 通过 Vuex 突变更改状态不会触发我的 Vue 组件中的反应式重新渲染
- maven - 嗨团队,我如何找到已经建立的现有项目的原型
- javascript - 它是如何通过 JS 进行隐式转换的原因是什么
- nopcommerce - 如何动态设置价格:nopcommerce
- java - 计数字符、Java 程序和 wc 产生不一致的结果
- node.js - Github 的操作不是构建 React 应用程序