主机文件系统上的 Dockerized 可执行文件 read/write
Dockerized executable read/write on host filesystem
我刚刚 docker 化了一个可执行文件,它从一个文件中读取并在文件所在的目录中创建一个新文件。
我想在该设置中使用 Docker,这样我就可以避免在生产环境中安装大量第三方库。
我现在的问题:我的底层(主机)文件系统上有文件 /this/is/a.file
,我的可执行文件应该创建 /this/is/b.file
.
据我所知,完成此操作的唯一机会是映射一个指向 /this/is
的卷,然后让可执行文件知道我将其安装到 docker 中的位置, 容器.
我说的对吗?或者有没有一种方法可以让我在不使用 Docker 卷的情况下通过 docker run mydockerizedstuff /this/is/a.file
?
你说得对,你需要将 /this/is
作为卷传入,可执行文件将写入该位置。
如果您想进一步限制事物,可以将 /this/is/b.file
作为体积传递。你需要事先创建它(只需通过 touch
),否则 Docker 会认为它是一个目录并为你创建它,但你会知道这个东西将无法创建/this/is/c.file
或任何其他东西。
我刚刚 docker 化了一个可执行文件,它从一个文件中读取并在文件所在的目录中创建一个新文件。
我想在该设置中使用 Docker,这样我就可以避免在生产环境中安装大量第三方库。
我现在的问题:我的底层(主机)文件系统上有文件 /this/is/a.file
,我的可执行文件应该创建 /this/is/b.file
.
据我所知,完成此操作的唯一机会是映射一个指向 /this/is
的卷,然后让可执行文件知道我将其安装到 docker 中的位置, 容器.
我说的对吗?或者有没有一种方法可以让我在不使用 Docker 卷的情况下通过 docker run mydockerizedstuff /this/is/a.file
?
你说得对,你需要将 /this/is
作为卷传入,可执行文件将写入该位置。
如果您想进一步限制事物,可以将 /this/is/b.file
作为体积传递。你需要事先创建它(只需通过 touch
),否则 Docker 会认为它是一个目录并为你创建它,但你会知道这个东西将无法创建/this/is/c.file
或任何其他东西。