Docker:获取/打印正在运行的容器的ID

时间:2015-11-18 13:16:20

标签: bash docker

目标是从容器内的主机运行脚本setup-debian-server.sh,并在没有错误的情况下提交图像。

这个东西将脚本行作为bash的参数提供给它们,并附加到它们hostname以打印容器的ID。

它将参数传递给脚本:--script-par1=abc

(
    did="$(
        docker run ubuntu:15.04 /bin/bash -c "$(<./setup-debian-server.sh); echo; hostname;" -- --script-par1=abc |
        tail -n1;
        exit ${PIPESTATUS[0]}
    )" && docker commit "$did" my/base
)

问题是setup-debian-server.sh标准丢失了。这总体上很难看。

我玩了一些exec {FD}>&1命令但是没有可靠地刷新stdout(我希望总共有3行输出,但有时候是2行):

(exec {FD}>&1 && /bin/bash -c "hostname; echo 123;" | tee /dev/fd/$FD | head -n1)

如何完成这个简单的任务?

0 个答案:

没有答案