Docker in production too good to be true?

Late in the game, not IT background, I am EE major.
I started using docker for local development and I love it.
I am trying to understand how suitable is for production.
I used docker-compose with a fronted ui (vue) a backend api server (node) and a postgres database all in containers.
For small applications should this be enough?
I put everything on AWS on EC2 instance and boom… works great… should I be concerned?
Too easy to be true?

Hi there! Docker can be a great tool for managing your application in production as well, as long as it’s used appropriately. Using Docker and Docker Compose can help to ensure that your application is consistent across different environments, and make it easier to deploy and scale.

However, there are some additional considerations to keep in mind when using Docker in production. For example, you may want to consider security best practices when deploying Docker containers, such as ensuring that only necessary ports are exposed and that container images are kept up to date with security patches. You may also want to consider using a container orchestration tool like Kubernetes to manage your containers in a more scalable and resilient way.

In terms of your specific setup, it’s hard to say for sure without more details. However, as long as your application is relatively small and not handling sensitive data, it sounds like your setup with Docker and AWS should be sufficient. That being said, I would encourage you to continue researching best practices for deploying applications with Docker to ensure that you are following best practices and keeping your application secure.

1 Like

That is exactly why Docker became so popular even though containerization existed before. It is easy to start with and yes, it is perfectly suitable for production, but the fact that something works doesn’t mean it is perfectly configured for production. Even before Docker I could run a webserver on my machine using xampp and similar tools, but that didn’t mean that was the way in production. So as always, we need to understand what we are using and how it can be secured or configured for better performance based on which environment it is running in.

And one more thing. In theory, everything could run in containers, but that doesn’t mean that everything would run in containers in an optimal way without modifying the software. If the developers intended the software to run on outside of containers and optimized everything for that, then that’s the way.

1 Like