Дмитрий Рогачёв начал военную службу в 1915 году рулевым на линкоре Балтийского флота «Слава». В период Октябрьской революции принимал участие во взятии казарм Гардемаринских классов, в охране Таврического дворца и мостов через Неву, в боях под Гатчиной и Царским Селом. В 1929 году Рогачёв окончил Военно-морское училище имени М. В. Фрунзе.
Участвовал в Гражданской войне, в период которой занимал должность помощника начальника отряда Сибирской военной флотилии на озере Байкал, после — начальника службы связи Восточного фронта РККА. В 1921 году стал командиром монитора, затем командиром и комиссаром дивизиона и бригады мониторов, а в мае 1938 года был назначен заместителем командующего Амурской флотилией.
В 1940 году назначен командующим Пинской военной флотилией, в составе которой и воевал в начале Великой Отечественной войны. С февраля 1942 года стал командующим Волжской военной флотилией, с июля 1943 года командовал отрядом кораблей ВМФ, а в 1944—1946 был командиром Киевской военно-морской базы Днепровской флотилии. В Великую Отечественную войну Волжская флотилия под командованием контр-адмирала Рогачёва сыграла важную роль в обороне Сталинграда.
После окончания войны Дмитрий Дмитриевич занимал должности командира учебного отряда, затем отряда и бригады строящихся кораблей, а в 1956 году вышел в отставку.