Да. Это не сработает. Это никогда не работало. Не знаю, как кто-то мог предположить, что это сработает. Не знаю, как я сам не заметил, что кто-то это предложил. Суть двухконтейнерной настройки в том, что обновление контейнера data требуется крайне редко.
Если вам нужно обновить data, то сначала нужно остановить только web, затем пересобрать data, а затем web_only. Я обновил исходный пост.
Если вы получаете ошибки конфликта портов, то, скорее всего, это потому, что при перезапуске Docker сначала запустил старый контейнер приложения, и именно он захватывает порт. Вы можете проверить это с помощью команды:
docker ps
и посмотреть, запущен ли app. Вы надеетесь, что он запущен, так как это объяснит проблему с портом.
Вам, вероятно, нужно выполнить:
docker stop app; docker rm app