Моментальный откат docker-compose без боли

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

dockerdocker-composevolume

ℹ️ Бывали ситуации, когда после правок docker-compose.yml контейнеры не стартуют, а бэкапа никто не сделал? Есть простой способ быстро вернуть рабочую версию!

🔍 Способ 1: Восстановление из кеша Docker

Docker сохраняет копии запущенных контейнеров, и их можно восстановить:

docker inspect $(docker ps -q) --format '{{.Config.Cmd}}'

❔ Эта команда покажет, какие команды выполнялись в контейнерах. Если docker-compose.yml испортился, можно вытащить старые конфигурации и собрать новый файл.

👨‍💻 Способ 2: Восстановление из history

Если docker-compose.yml запускался недавно, можно попробовать откатить его в shell:

history | grep 'docker-compose up'

❔ Найдя нужную команду, можно вернуть старый вариант с vim ~/.bash_history или cat ~/.bash_history | grep 'docker-compose'.

🚫 Способ 3: Жёсткий откат через Docker Volume

Если контейнер падал из-за проблем в базе данных, можно откатить volume:

docker run --rm -v my_volume:/data -v $(pwd):/backup busybox tar -cvf /backup/backup.tar /data

Затем восстановить:

docker run --rm -v my_volume:/data -v $(pwd):/backup busybox tar -xvf /backup/backup.tar -C /data

✳️ Бэкапьте важные файлы, но если что — теперь вы знаете, как спасаться!

tags: #полезно #docker #compose

🧭 @recura_tech

Стиллизованная иллюстрация Docker-контейнера и облака с восходящей стрелкой — метафора резервного копирования и восстановления данных в Docker-окружении.
Иллюстрация контейнера и облака как символа резервного копирования Docker.

Читайте так же