EC2 instance boots in 2 to 3 minutes, a Docker container starts in seconds.
You can specify precisely how much CPU/Memory you need for a container, with a VM, you're stuck with what the cloud provider offers.
You still need to get your app artifacts on that VM, how do you plan to do this?
EC2 (VM abstraction) is great for some type of software, but don't forget you'll also need a Load Balancer, provisioning TLS certs, security groups, autoscaling groups, VPN, public/private subnets…