Докер контейнер - это что-то вроде очень маленькой виртуальной машины со своим окружением (своими пакетами, переменными и так далее), только там нет гипервизора и ресурсы системы используются напрямую и делятся между контейнерами. А screen это просто разделение сессий терминальных, при этом набор пакетов из сессии в сессию будет один и тот же
Ну как я понял скрин накатывает все изменения локально и сразу в систему, докер же изолирует все твои изменения которые сделал в докер контейнере и помогает удобно управлять всеми твоими програмами и сервисами запущенными у тебя в контейнере