Docker从stdin保存读取参数
为了代替Docker从stdin保存读取参数,docker,sed,zsh,Docker,Sed,Zsh,为了代替docker compose save命令,我使用sed读取YAML文件,并将其导入docker save 我看到docker在读stdin时有一些奇怪的行为。例如,我有一个命令,可以找到docker compose YAML文件中的所有图像,并将其输出到stdout sed-nr's/image:(.*)/\1/p'docker-compose.yml | uniq | xargs-d'\n'| cat 将输出: mysql-redis-python 但是,如果我尝试将其导入docke
docker compose save
命令,我使用sed读取YAML文件,并将其导入docker save
我看到docker在读stdin时有一些奇怪的行为。例如,我有一个命令,可以找到docker compose YAML文件中的所有图像,并将其输出到stdout
sed-nr's/image:(.*)/\1/p'docker-compose.yml | uniq | xargs-d'\n'| cat
将输出:
mysql-redis-python
但是,如果我尝试将其导入docker save
中,我会得到以下错误
sed -nr 's/image: "(.*)"/\1/p' docker-compose.yml | uniq | xargs -d '\n' |
docker save | gzip -c > images.tar.gz
"docker save" requires at least 1 argument(s).
See 'docker save --help'.
Usage: docker save [OPTIONS] IMAGE [IMAGE...]
Save one or more images to a tar archive (streamed to STDOUT by default)
我如何让docker阅读stdin的论点?要用一个正确的答案来完成这篇文章,请参阅William Pursell的评论:
与从stdin获取参数的任何命令的方式相同:
sed…|xargs docker保存
与从stdin获取参数的任何命令的方式相同:sed…|xargs docker save
。谢谢,这很有效。忘记了正确使用xargs。