如何运行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函数就像使用-i
的docker 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