JoshDW19
Community Hall of Fame
- Joined
- May 16, 2016
- Messages
- 1,077
TrueCharts Integrates Docker Compose with TrueNAS SCALE
TrueNAS SCALE is scale-out storage and hyperconverged infrastructure that uses Kubernetes for deploying containerized (e.g. Docker) applications. Kubernetes allows single containers or pods of containers to be easily deployed as Helm Charts on a unified infrastructure. Third party App catalogs such as TrueCharts provide a large, pre-tested library of applications built using Helm Charts.
Docker Compose is a very popular orchestration tool that has been used for many years by the Docker Community. However, Docker Compose and Kubernetes do not co-exist easily on a single system. Until now, pre-existing Docker Compose files (yml) were not supported on TrueNAS SCALE without breaking recommended operating guidelines. Users would have to run a separate Linux VM with Docker to support any Compose-based applications. This would consume extra CPU and RAM and would make the operator experience much less consistent.
TrueCharts has removed this limitation with a new Docker-Compose App that is ready for testing. The App is downloaded and runs like any other application. While it is being loaded, the user provides the Compose file that describes their docker-compose application, its networking and storage. Effectively, TrueCharts has provided a “Compose in Kubernetes” capability.
So how does this “Compose in Kubernetes” magic work?
TrueCharts applies the technology known as ’Docker in Docker’, which is effectively a Docker container that runs the Docker run-time environment. It provides the storage and networking within this runtime environment using the storage and networking resources provided to the Docker-Compose app.
Docker uses this technology for their own development and testing. In this TrueNAS scenario, it’s constrained to only load one compose-file automatically. The primary restriction is that Compose apps cannot have networking that conflicts with any of the Kubernetes networks, as would be expected.
The Docker and Kubernetes networking models are different and so the applications work more easily if they are separated and not networked together. It's best to use Docker-Compose App as a separated Docker environment for stand-alone applications.
Benefits to TrueNAS SCALE Community
Now TrueNAS SCALE can run any combination of Kubernetes apps described by Helm Charts, Docker containers, and Docker Compose applications. TrueNAS SCALE Apps and docker-compose are different and separated ways of using containers, yet still with all the efficiencies of shared storage and compute. Docker-Compose services persist through software updates, as well as reboots.
It's Time to Kick the Tires
Truecharts released the Docker-Compose App on March 6. Internal testing and documentation of the App has been completed. A short video tutorial is also now available.
For those of you with both Docker-Compose and TrueNAS SCALE experience, please download the Docker-Compose App and try it out with your favorite Compose files. Let us know where it succeeded and where there were issues. Please also join the TrueCharts Discord channel to chat with their developers if you find any issues.
Want to know more about TrueCharts? Visit TrueCharts.org.
TrueNAS SCALE is scale-out storage and hyperconverged infrastructure that uses Kubernetes for deploying containerized (e.g. Docker) applications. Kubernetes allows single containers or pods of containers to be easily deployed as Helm Charts on a unified infrastructure. Third party App catalogs such as TrueCharts provide a large, pre-tested library of applications built using Helm Charts.
Docker Compose is a very popular orchestration tool that has been used for many years by the Docker Community. However, Docker Compose and Kubernetes do not co-exist easily on a single system. Until now, pre-existing Docker Compose files (yml) were not supported on TrueNAS SCALE without breaking recommended operating guidelines. Users would have to run a separate Linux VM with Docker to support any Compose-based applications. This would consume extra CPU and RAM and would make the operator experience much less consistent.
TrueCharts has removed this limitation with a new Docker-Compose App that is ready for testing. The App is downloaded and runs like any other application. While it is being loaded, the user provides the Compose file that describes their docker-compose application, its networking and storage. Effectively, TrueCharts has provided a “Compose in Kubernetes” capability.
So how does this “Compose in Kubernetes” magic work?
TrueCharts applies the technology known as ’Docker in Docker’, which is effectively a Docker container that runs the Docker run-time environment. It provides the storage and networking within this runtime environment using the storage and networking resources provided to the Docker-Compose app.
Docker uses this technology for their own development and testing. In this TrueNAS scenario, it’s constrained to only load one compose-file automatically. The primary restriction is that Compose apps cannot have networking that conflicts with any of the Kubernetes networks, as would be expected.
The Docker and Kubernetes networking models are different and so the applications work more easily if they are separated and not networked together. It's best to use Docker-Compose App as a separated Docker environment for stand-alone applications.
Benefits to TrueNAS SCALE Community
Now TrueNAS SCALE can run any combination of Kubernetes apps described by Helm Charts, Docker containers, and Docker Compose applications. TrueNAS SCALE Apps and docker-compose are different and separated ways of using containers, yet still with all the efficiencies of shared storage and compute. Docker-Compose services persist through software updates, as well as reboots.
It's Time to Kick the Tires
Truecharts released the Docker-Compose App on March 6. Internal testing and documentation of the App has been completed. A short video tutorial is also now available.
For those of you with both Docker-Compose and TrueNAS SCALE experience, please download the Docker-Compose App and try it out with your favorite Compose files. Let us know where it succeeded and where there were issues. Please also join the TrueCharts Discord channel to chat with their developers if you find any issues.
Want to know more about TrueCharts? Visit TrueCharts.org.