Beginner with various questions

I am a beginner with docker and I have read a lot but none of the writeups answered my below queries.

I installed docker on ArchLinux

#pacman -S docker
#systemctl start docker

and pulled ubuntu:16.04

#docker pull ubuntu:16.04

#docker images
Now I can start the image
#docker run -i -t 0ef2e08ed3fb /bin/bash

If from my main ArchLinix shell, I do a docker ps -a and use docker start and docker attach, is it the same docker shell as obtained using docker run -i -t <> /bin/bash ?

I am confused why are there so many methods to get a shell?
Or are they all different?

When I start this image, ps -a gave me 3 outputs:

49c49a45c50c 0ef2e08ed3f3 “/bin/bash” 29 hours ago Up 29 hours youthful_euler
e1c05d3f6e67 0ef2e08ed3f3 “/bin/bash” 29 hours ago Exited (0) 29 hours ago serene_noether
3ace37908dad 0ef2e08ed3f3 “/bin/bash” 29 hours ago Exited (0) 29 hours ago fervent_curran

I am confused, why is this docker image running 3 instances of /bin/bash ?
What are these names youthful_euler, serene_noether, fervent_curran ??

I never specified them? Which CONTAINER ID do I need to attach myself to? This is crazy!!

I did apt-get update and apt-get upgrade but I cannot commit cause it says cannot move console to console-

Helpful replies appreciated.