What was happening was that the default docker network doesn't allow name >> DNS mapping.
Containers on the default bridge network can only access each other by IP addresses, unless you use the --link option, which is considered legacy. On a user-defined bridge network, containers can resolve each other by name or alias.
So I created a new network:
docker network create -d bridge br0
and then added the containers to that network:
docker network connect br0 mongo1
docker network connect br0 wiki