我的docker CLI应用程序如何从主机读取文件?

我的docker CLI应用程序如何从主机读取文件?,docker,Docker,我用go语言制作了一个简单的命令行应用程序来读取文件并进行处理。我正在尝试使用docker运行应用程序。在程序中,代码的第一个参数是带位置的文件名。现在的问题是我无法理解contatiner代码如何从本地系统读取文件。我正在使用以下docker代码构建和运行应用程序: docker build . -t go-dock docker run -p 3000:3000 go-dock file/file.json file/file.json在我的例子中是完整的文件名和文件路径。 我读过关于卷的

我用go语言制作了一个简单的命令行应用程序来读取文件并进行处理。我正在尝试使用docker运行应用程序。在程序中,代码的第一个参数是带位置的文件名。现在的问题是我无法理解contatiner代码如何从本地系统读取文件。我正在使用以下docker代码构建和运行应用程序:

docker build . -t go-dock
docker run -p 3000:3000 go-dock file/file.json
file/file.json
在我的例子中是完整的文件名和文件路径。
我读过关于卷的书,但我知道只有容器才能在那里保存数据。问题是我想读这个文件。那么我该怎么做呢?

您可以通过挂载本地文件来读取它 有关此主题的文档,请参阅

docker run -p 3000:3000 -v file/file.json:mnt/file.json go-dock 

根据您的需要装载文件,以便您可以在容器中以及本地文件系统中读取它们

您是否可以直接运行应用程序,而无需将其打包到容器中?(Docker的设计目标之一是容器应用程序无法轻松访问主机文件。)@DavidMaze是的,我可以直接运行我的应用程序,它工作正常。实际上,这是一项任务,它特别要求我在运行应用程序时将应用程序和文件名停靠在一起。