如何提供从绑定目录到docker中程序的文件路径

问题描述 投票:0回答:1

我有一个适用于文件的python代码。它读取文件,执行某些操作等。作为程序的输入,您必须提供文件的路径。这是一个问题。在对程序进行docker化之后,它将如何从主机系统(容器外部)中找到文件?我读过我将必须将该主机目录与容器绑定。我想我可以处理docker文件的创建。我的问题比较简单。如何将文件从绑定目录传递到docker文件。如果我绑定"C:\user\desktop\test\"目录,然后再绑定"C:\user\desktop\test\test.file"参数运行docker file,这行得通吗?还是我必须(以某种方式)指示所选目录位于容器之外?大多数教程都告诉您必须绑定目录,但是我找不到有关如何实际使用绑定目录中文件的信息。

python docker bind
1个回答
0
投票

如果要在程序使用期间不更改文件,则要将文件复制到Docker映像中,请在COPY中使用Dockerfile命令:

COPY path/to/file/on/host path/to/file/in/image

但是您似乎想在运行时动态设置文件的路径。在这种情况下,请勿复制Dockerfile中的文件或路径。而是使用docker-compose.yml运行使用Dockerfile构建的图像:

version: '3.7'
services:
  app:
    build:
      context: .
    volumes:
      - type: bind
        source: ./path/to/folder/containing/file
        target: /path/the/file/will/have/in/container
© www.soinside.com 2019 - 2024. All rights reserved.