What is Docker?
Docker is a tool that lets you create, share and run applications in isolated containers. You can use Docker to run your apps on any host or local infrastructure without any dependency issues. Docker also allows you to connect your containers with each other through predefined channels. At RunCloud, we want to make it easy for you to manage your cloud infrastructure from one central dashboard.
What is the Difference Between Native and Docker Installations (Containerized)?
The Benefits of Using Containerized Instead of Native Inside RunCloud
RunCloud allows you to manage your cloud infrastructure from one central dashboard using either native or containerized installations for your applications. Here are some reasons why you should use a containerized instead of a native installation inside RunCloud:
Security
In native RunCloud, a hacker who compromises your site may also access the root level of your server if you are not skilled enough to prevent it. You should then assume that your whole server is hacked, and not just your web app. But with Docker, you can easily recover from such a situation by deleting your web app and restarting the container.
A containerized installation provides better security than a native installation. If a hacker breaches your site, they can only access the container – and not the host machine. You can easily restore your site by deleting the container and restarting it.
A native installation exposes your entire server to potential attacks, and requires more complex recovery procedures.
Additionally, RunCloud’s Docker integration lets you use its rc-shell (RunCloud Shell) to confine users to their own containers. In this way they can only affect their own container and data.
Performance
A containerized installation has minimal performance overhead compared to a native installation. Docker containers are lightweight and fast, and they don’t require a hypervisor to run. You can also run more containers on the same hardware and save on costs.
Server Management
A containerized installation simplifies your server management tasks. You don’t have to worry about installing and updating software on the OS level, which can cause dependency issues and conflicts. You can keep your server neat and easy to manage by avoiding installing services on the OS level.
For instance, in future, Ubuntu might not support PHP 7.2 and your site still might need it. You’ll face problems because you will have to use an outdated version of Ubuntu. But with a containerized server, you don’t have to worry about the OS version. You can still use older PHP versions as if they were natively installed from Docker.
You can use different versions of software in different containers without affecting each other. You can also easily migrate and upgrade your containers without affecting the host machine.
You will have a hard time upgrading your server if you install everything natively. But with Docker, upgrading will be simple because you don’t depend on shared libraries or other things that can make your server crash.
Same Functionality
RunCloud is designed to be easy to use, so we offer the same features for both the native and the containerized versions. You can switch from a native installation to a containerized one without any hassle.
It’s also easy to learn – you only need to know a few things to use Docker inside RunCloud. Most things are the same as the native version. This makes Docker inside RunCloud more attractive to use.