Firstly, talking about AWS Elastic BeanStalk, so if you have a war file, then using BeanStalk is the natural thing to do, it is a PAAS, platform as a service, specifically for classical Java web applications, packaged in war or ear.
Whenever we talk about container technologies such as Docker, or container orchestration tools such as Kubernetes in that case then we are talking about doing the “platform” ourselves, on the top of an IAAS (infrastructure as a service), that is unless we consider Kubernetes as a platform or the Docker ecosystem.
In other words, a container is just similar to a VM in that its image contains a whole root filesystem including operating system components except the kernel and application files and servers preinstalled there. You can use containers for microservices, usually done with embedded servers such as Vert.x, Jetty, Spring Boot (which embeds Tomcat or Jetty), Akka HTTP, or other processes that operate as servers. If you want to learn Docker then I would suggest you must take up the following Docker training Course. You can also watch the following Docker video tutorial to learn more about it.