Доктор - это более широкое понятие, оно не всегда связано с медициной. Например:
доктор экономических наук (здесь "доктор" означает учёную степень специалиста в области экономики).
Врач - более узкий термин - специалист с высшим медицинским образованием (кроме ветеринарного врача), квалификация которого позволяет заниматься диагностикой и лечением пациентов, а также, проводить научные исследования в области медицины, и преподавать специальные (медицинские) дисциплины слушателям медицинских колледжей, академий, университетов и т.д.
В русском языке зачастую врачей называют докторами, подразумевая не их учёную степень, а используя слово "доктор" как синоним слова "врач".
Таким образом, допустимо называть любого врача доктором, но любого доктора врачом - нет.