I have made several experimental YunoHost apps around Docker. The reason behind is that some apps I liked were not yet implemented in YunoHost (or were too difficult to implement) so for the time being I felt back to Docker.
I would love to hear your feedbacks and tests. Do not hesitate to fork/commit/fix bugs.
What is Docker?
- Docker is a program that “virtualize” applications so that they can be run separately
- Docker allows easy deployment of a wide range of web applications that might not be yet implemented in YunoHost: See http://registry.hub.docker.com
Why would you want to use Docker in YunoHost?
- Because your favorite app is not yet implemented in YunoHost or would be too difficult to implement
- Because you like to keep your apps separated to avoid breaking your YunoHost install
Why would you NOT want to use Docker in YunoHost?
- If you already use Docker and have installed YunoHost in its own container: This app works ONLY if YunoHost is installed in the host (see this link if you want to try anyway)
- If YOU KNOW WHAT YOU ARE DOING
- If you want a flawless YunoHost experience with Single Sign-On, as Docker containers are not integrated with YunoHost
So here are the apps!
DockerUI for YunoHost https://github.com/scith/dockerui_ynh
This application installs Docker along with DockerUI for easy container and images management
Docker Containers for YunoHost https://github.com/scith/docker_container_ynh
This multi-instance application allows to create Docker containers from within YunoHost (and manage them as services). It also installs Docker if it has not been installed yet, so it is independent from DockerUI (which is just here to facilitate management of pulled images)
- The image can be pulled from the official registry: http://registry.hub.docker.com
- Any options can be passed to the container (eg ports, volumes…)
- The container is manageable through the YunoHost Services page
(tested with Debian Jessie & Yunohost 2.2) or with “sudo service
- The container can be mounted with a dedicated volume from the host
- This app is multi instances, meaning that you can create as many containers as you want
- It is however recommended to install the DockerUI package for a finer management of containers and images
- Adventurous users could try to install the experimental app Shipyard for an even more advanced management of containers
- Create a YunoHost app from the container (redirects ports to domain/path with SSO)
To be done:
- Backup and restore containers with YunoHost moulinette
Docker and Shipyard for YunoHost: https://github.com/scith/docker_shipyard_ynh
This app installs Docker along with Shipyard. It is not working very well yet and has to be set up manually. It also opens a port on your Docker host which could create a security flaw. Highly experimental but once working, it could be much more powerful than DockerUI (manage clusters of Docker hosts, create containers…)