Is there a reason to choose native over docker?

We’ve been running a simple node server in docker for a few months now, and I’m wondering if there’s anything we’d gain by switching to a native language environment deployment. I see Deploy Docker — How to Use Docker | Render talks about reasons to choose docker, but are there reasons to choose against?

Hi Alex,

Thanks for reaching out.

Native Environments can get projects up and running quickly, especially if you haven’t already got Docker setup for the project. With regards to Node projects in particular, you can specify your Node version simply, then you only need to consider the Build & Start Commands to get the project up and running. The environments are also updated frequently to improve functionality, security, and performance

Docker gives you that bit of extra control & customisation should you require it, e.g. if you need custom OS-level packages, etc. While the updates to native environments mentioned can be a benefit, every project is different so there’s a very slight chance those updates could effect your builds. That said, every effort is made to keep native environments backwards compatible. With a Docker setup, the whole environment stays in your control.

If you’re already using and comfortable with Docker on your project, it’s probably easiest to continue with that path. However, you could always try out a native Node environment on a free web service to test if that workflow suits you better.

Please let us know if you have any more questions.

Kind regards

Alan