TLDR: Это все еще невозможно 2018-11 ; использовать docker-compose down
илиdocker-compose run --rm
Я хочу дать обновленный ответ на этот вопрос, потому что это почти 3 года спустя. Это спасет других от поиска.
У меня был тот же вопрос, и вот обходные пути, которые я нашел (включая один из самого вопроса):
который делает следующее:
Останавливает контейнеры и удаляет контейнеры, сети, тома и образы, созданные 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
это избавит вас от некоторых хлопот; особенно с объемами и сетями.
--rm - Удалить контейнер после запуска. Игнорируется в отдельном режиме.
Запускает одноразовую команду для службы. Например, следующая команда запускает веб-сервис и запускает bash в качестве своей команды.
docker-compose run web bash
[...] команда, переданная командой run, переопределяет команду, определенную в
конфигурации службы .
[...] команда не создает ни один из портов, указанных в конфигурации службы. Это предотвращает конфликты портов с уже открытыми портами. Если вы хотите, чтобы порты службы создавались и отображались на хосте, укажите флаг --service-ports
-f, --force Не просить подтвердить удаление