如何运行docker来处理主机文件

例如,我的图像基于apline,我想用awk来处理主机文件系统上的文件。

docker run -ti alpine awk ' { print "{\"index\":{}}"; }{print ;}' dump.json docker run -ti alpine awk ' { print "{\"index\":{}}"; }{print ;}' dump.json的错误是wk: dump.json: No such file or directory因为文件不在容器里面,我只想用阿尔卑斯作为工具箱,我不想装载文件。

stdin函数就像使用-idocker run命令的普通进程。 然后stdout可以像docker命令一样正常使用。

 cat dump.json \ | docker run -i alpine awk ' { print "{\"index\":{}}"; }{print ;}' \ | wc -l 

您的容器与主机隔离。

你可以使用容器内的文件从主机复制

docker cp

看文档

https://docs.docker.com/engine/reference/commandline/cp/

然后你在容器中有这个文件,所以你可以在它上面处理awk