Ответ 1
В настоящее время (Docker v1.1.1) эта функция не поддерживается.
Разработчик функции --rm
объясняет причины этого в PR # 1589:
В настоящее время поддерживается только тогда, когда -d не предоставляется. Нет смысла автоматически удалять контейнер, созданный с помощью docker run -d. Есть две причины, почему это реализовано таким образом: 1) мы можем захотеть получить какой-то статус выхода или журналы до удаления контейнера 2) сделать этот прогон на стороне сервера сложным в текущей архитектуре.
Хорошей новостью является то, что кто-то уже открыл проблему чтобы исправить это, чтобы вы могли следить за ней.
Кроме того, обходной путь не слишком сложный, вы можете запускать свои контейнеры с помощью оболочки script следующим образом:
ID=$(docker run -d ubuntu sleep 3)
docker wait $ID
docker rm $ID