Dreyers forældre var major i Jyske Jægerkorps Christoph Friderich Dreyer (1782-1830) og Johanne Marie, født Stockfleth (1782-1819). I 1826 begyndte han sin militære løbebane som landkadet, erholdt 21. december 1828 anciennitet som sekondløjtnant og udnævntes året efter til sekondløjtnant i Vejkorpset. Fra 1832-36 var han elev på Den kongelige militære Højskole, blev i 1834 sekondløjtnant og i 1836 premierløjtnant i Ingeniørkorpset. I 1837-38 gjorde han tjeneste i Rendsborg fæstning og var fra 1838-41 beskæftiget ved forarbejder til jernbaneanlæg og ved chaussébygning i Holsten og fra 1841-48 ved vejtjenesten i Danmark. Han var imidlertid i 1842 blevet kaptajn af 2. og i 1844 kaptajn af 1. klasse. I krigsårene 1848-50 gjorde han tjeneste ved feltingeniørdetachementet, fungerede i 1849 som stabschef ved og i 1850-51 som kommandør for samme og som højstkommanderende ingeniørofficer ved den aktive armé. Han deltog i fægtningerne i Sundeved 28. maj og 5. juni 1848 og 3. april 1849, ved Kolding 23. april, Gudsø 8. maj og i udfaldet fra Fredericia 6. juli 1849 samt i slaget ved Isted 25. juli 1850. Mellem krigsperioderne fungerede han ved Vejtjenesten. I 1850 blev han karakteriseret major uden anciennitet. Fra 1851-55 var han kommandør for Ingeniørtropperne og virkede i 1852-63 i forskellige stillinger ved jernbanevæsenet, nemlig som Indenrigsministeriets tekniske konsulent i jernbanesager, som kontrollerende ved anlægget af de Sjællandske Jernbaner og som medlem af direktionen for samme, fra 1855-63 tillige som dirigerende stabsofficer for Ingeniørkorpsets vejtjeneste i Danmark. Han var imidlertid i 1855 blevet udnævnt til virkelig major, i 1859 til karakteriseret oberstløjtnant og i 1863 til oberstløjtnant.