ДВУ: Это все еще невозможно 2018-11; использовать docker-compose down
или docker-compose run --rm
Я хочу дать обновленный ответ на этот вопрос, потому что прошло почти 3 года. Это избавит других от некоторых поисков.
У меня был тот же вопрос, и вот найденные мной обходные пути (в том числе из самого вопроса):
docker-compose down
который выполняет следующее:
Останавливает контейнеры и удаляет контейнеры, сети, тома и образы, созданные up.
По умолчанию удаляются только следующие элементы:
- Containers for services defined in the Compose file- Networks defined in the networks section of the Compose file- The default network, if one is used
Сети и тома, определенные как внешние, никогда не удаляются.
Хотя вы не можете объявить это в docker-compose.yml
это избавит вас от некоторых хлопот, особенно с объемами и сетями.
docker-compose run --rm
--rm - Удалить контейнер после запуска. Игнорируется в отключенном режиме.
Выполняет одноразовую команду для службы. Например, следующая команда запускает веб-службу и запускает bash в качестве ее команды.
docker-compose run web bash
[...] команда, переданная с помощью run переопределяет команду, определенную в службе конфигурация.
[...] команда не создает ни один из портов указанный в конфигурации службы. Это предотвращает коллизии портов с уже открытыми портами. Если вы действительно хотите, чтобы порты службы были созданы и сопоставленный с хостом, укажите --сервис-порты флаг
docker-compose rm -f
-f, --force Не запрашивать подтверждение удаления