Обычно вы можете запустить контейнер с флагом --rm
, поэтому он будет удалять контейнер после остановки или завершения работы системы. Но я не нашел аналогичного флага для docker -compose, вы можете попробовать следующее, но он будет работать вручную не при выключении или перезагрузке
Usage: rm [options] [SERVICE...]
Options:
-f, --force Don't ask to confirm removal
-s, --stop Stop the containers, if required, before removing
-v Remove any anonymous volumes attached to containers
docker -comose rm
Таким образом, обходной путь - запустить задание cron на bootup
и удалить весь контейнер.
remove_container.sh
.
#!/bin/bash
# put sleep so the docker process ready
sleep 90
# remove all container
docker rm -f $(docker ps -aq)
cronjob
@reboot (sh /home/user/remove_container.sh)
Вы можете добавить аналогичную опцию для окна et c, описанного выше, протестированного в дистрибутиве Ubuntu.