代替docker-compose save
命令我已经使用sed来读取YAML文件并将其传送到docker save
。
我看到了从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读取其参数?
答案 0 :(得分:0)
要在William Pursell的评论中以正确的答案完成此事:
与从stdin获取参数的任何命令相同:sed ... | xargs docker save