Различия между двумя решениями есть, не смотря на то, что они (как может показаться на первый взгляд) делают одно и тот же. Сразу надо заметить, что для работы с OpenVZ вам нужно модифицированное ядро, в то время как Докер не требует никаких изменений ядра.
В общем и целом, OpenVZ - платформа для создания контенейров, которые используюся как полноценные отдельные виртуальные серверы. То есть вы попадаете в новое окружение, где имеете полную свободу действий - можете устанавливать любые сервисы, менять параметры как вам захочется и так далее. Иными словами, OpenVZ подходит для тех, кому нужен виртуальный сервер, на котором можно поднять что угодно.
Docker тоже позволяет создать свой контейнер. Однако, Докер больше нацелен на работу с приложенями. То есть у вас есть, скажем, nginx и вы запускаете его в Докере. Процесс полностью изолирован от хост-системы. Поэтому существуют докер-образы, которые можно развернуть на своем компе, при этом полностью повторив ту настройку, которая была поставлена с этим самым образом. Еще раз (не хочется повторяться, но это принципиальный момент) - Докер заточен на работу с приложениями. В то время как OpenVZ делает пустой контейнер, где начинка зависит от пользователя.