Проблема заключается в том, что вы пытаетесь подключиться к 127.0.0.1.MongoDB находится не в том же контейнере, поэтому это не сработает.
mgo.Dial("mongodb://usernamer:password@127.0.0.1:27017/dbname")
Вместо этого вам следует подключаться к контейнеру MongoDB, который вы определили с использованием выбранного вами имени.
mgo.Dial("mongodb://usernamer:password@mongodb:27017/dbname")
Docker Compose создает сеть для ваших контейнеров, в которой они могут обращаться друг к другу, используя имена, которые вы определили как имена хостов.Обратите внимание, что вам не нужно определять ports
для контейнеров, чтобы достичь друг друга;они нужны только для доступа к контейнерам снаружи Docker.