David MacGregor was born 5 February 1894, in Buckie, Banffshire, Scotland. His parents were James and Jesse MacGregor.
David served in the First World War from 1915–1919, in the Royal Naval Reserve in Scotland. He was awarded the 1914–1915 Star, British War Medal 1914-20, and Victory Medal.
In 1923, David married Helen in Aberdeen, Scotland. They had two children while living there, James in 1923 and Elsie in 1925.
In 1926–1927, David was one of the crew members who brought the Beryl II, later the HMAS Beryl II, to Australia from the United Kingdom, after Cam and Sons purchased her. His family followed in late 1927. David and Helen had three more children once they had settled in Mortdale, NSW.
David was Captain of the trawler Goorangai before she was requisitioned for naval service. He stayed on with her as Captain and commissioned Warrant Officer. HMAS Goorangai sunk after collision with MV Duntroon, around 8pm on 20 November 1940, in Port Phillip Bay, Victoria. HMAS Goorangai was cut in two, and sank in less than a minute. She lost her entire crew of 24 people. For his service in the Second World War, David was awarded the War Medal 1939-1945 and 1939-1945 Star.
David's eldest son, James MacGregor, joined the Royal Australia Navy in September 1940. Able Seamen James MacGregor died on the HMAS Canberra on 9 August 1924, in the battle of the Savo Island. David's eldest daughter, Elsie MacGregor, joined the Royal Australia Air Force in July 1944.