Б.М. Соколов родился 19 августа 1927 года в деревне Большая Каменка Кологривского района Костромской области. В 1945 году после окончания школы поступил в Ленинградское Высшее арктическое морское училище. За время обучения проходил практику на различных судах, где познакомился с капитаном ледокола «Молотов» П.А. Пономарёвым. С 1951 году Б.М. Соколов работал в Ленинградском морском агентстве Главсевморпути на ледоколе «Илья Муромец».
В 1954 году за проявленные профессиональные знания, трудолюбие, инициативу Б.М. Соколов был назначен старшим помощником капитана на ледокол «Александр Сибиряков». В 1957 ледокол «Сибиряков» был передан в ведение Мурманского государственного морского арктического пароходства, и поэтому дальнейшая жизнь и трудовая биография Бориса Макаровича связана с городом Мурманском.
В 1958 году он принял участие в четвёртой Советской антарктической экспедиции. В ноябре 1959 года приказом министра Морского флота Б.М. Соколова был назначен дублёром капитана первого в мире атомного ледокола «Ленин» П.А. Пономарёва, а 4 ноября 1961 года – капитаном легендарного атомохода.
В 1963 году за проявленный самоотверженный труд в сложной арктической навигации и заслуги в деле развития морского транспорта Указом Президиума Верховного Совета СССР Б.М. Соколов был награждён орденом Ленина.
За свою трудовую деятельность капитан Б.М. Соколов разработал ряд совершенно новых приёмов ввода и постановки к ледовому припаю транспортных судов, форсирование тяжёлых ледовых перемычек. Получил широкое применение в работе ледоколов предложенный им метод проводки транспортных судов вплотную за ледоколом в припайных льдах Енисейского залива.
Почти 40 лет он бессменно возглавлял экипаж первого гражданского атомохода. В арктическом флоте страны нет другого капитана, который столь продолжительное время трудился на одном судне и был так предан своему экипажу. Во многом благодаря усилиям Соколова атомоход «Ленин» не был пущен на металлолом, а сохранен и переоборудован в музей.
За заслуги перед Отечеством Борис Макарович Соколов был отмечен высшими наградами страны: орденами Ленина и Октябрьской революции, удостоен звания Героя Социалистического труда, а также званиями «Лучший капитан ММФ», «Почётный работник Морского флота СССР», «Почётный полярник».
Постановлением Администрации города № 1775 от 4 октября 1996 года Борису Макаровичу присвоено звание «Почётный гражданин Города-Героя Мурманска», также он был Почётным гражданином города Кологрива.
Скончался Борис Макарович Соколов в 2001 году. Похоронен в Санкт-Петербурге.
В августе 2002 г. на доме, в котором жил Борис Макарович Соколов (г. Мурманск, ул. Перовской, 19), была установлена мемориальная доска.