I like putting applications into containers, because:
- installation is easier
- you can easily split configuration, core application and database
- easier to switch to a different database
- if you have messed it up, just delete the core container, link your database and your configuration to it and you will be fine again
- gitlab runs in its own separated environment
- this also gives you security advantages
Often programs are very complicated to be installed (I haven't installed GitLab by myself yet, just used the containers) which is why I often tend to use containers, because I do not want to think about the installation process -- just a docker-compose or docker-command and it's running. That sufficiently convinces me to use it.