为什么docker会说-d和–rm是运行容器的冲突选项?
一个小问题,但我想在docker run --rm
dev中docker run --rm
容器,这样我就不必在停止它们之后将它们删除,特别是因为我几乎每次运行都改变命令行参数。
但是,如果我不使用docker run -d
我的容器会抽出大量日志到stdout
。
那么我不能再使用--rm
了,因为--rm
抱怨:
[adam@gondor ~]$ docker run --rm -d -p 10040:443 --name rproxy adam-rproxy Conflicting options: --rm and -d
无可否认,我可以在命令行上运行stop和rm:
docker stop rproxy; docker rm rproxy
但我知道我会忘记,烦恼,开始担心我正在走自闭症谱系!
docker运行选项
Docker在--rm
移动到服务器端操作时添加了--rm
和-d
function。 这在PR 20848中被覆盖。 在此版本之前,在Docker客户端上处理删除操作,而在分离模式下,客户端不监视容器以检测退出。
您需要在客户端和服务器上至less升级此版本才能使此function正常工作。 我build议升级到17.09,因为这是目前稳定的CE版本 。
我无法重现这一点。
以下分离正常,可以在Docker version 17.09.0-ce, build afdb6d4
正常停止(根据需要导致删除):
docker run --rm -d --name yes alpine:3.7 yes
我也尝试添加一些端口来更接近你的例子,但这也没有问题。