====== Docker ====== For this guides I will use Docker-Compose. I could use Docker but then I would have to parse every argument in the terminal before starting the container OR create a .sh file which has the arguments inside. Besides that, using docker-compose, advancing to Kubernets (k8s) will be easier / faster. ===== Usefull Resources ===== [[engineering:computer_science:docker:docker_cheatsheet|Docker Cheatsheet]] ===== First Application on Docker - DokuWiki ===== We will start by [[engineering:computer_science:docker:application_guides:docker_dokuwiki_portable|Making a DokuWiki to Go with Docker]] which will allow us to keep track of any information / documentation on this process. If you are using VirtualBox / VMWare and Docker directly on the same machine - instead of having Docker in a VPS / Virtual Machine - [[engineering:computer_science:docker:switch_between_docker_virtualbox|Switching Between Docker and VirtualBox on Windows 10]] should fix the issue of not being able to have both hypervisor systems working at the same time. ===== Reverse Proxy and main Website / Homepage ===== Afterwards we will be using [[engineering:computer_science:docker:application_guides:docker_nginx_reverse_proxy|Nginx as Reverse Proxy for Docker Containers]] which will allow us to access each service / container using a DNS - e.g. [[http://carlossousa.tech|carlossousa.tech]] for the homepage, [[http://wiki.carlossousa.tech|carlossousa.tech/wiki]] for this Wikipedia etc -. Once that is done, we will be making a [[refractor_computer_science:docker:docker_wordpress_homepage_portable|Wordpress Homepage to go with Docker]]. ===== HTTPS / SSL and WebUI for Docker ===== Afterwards we will be securing the connections by [[engineering:computer_science:docker:application_guides:traefik_docker_https_ssl_for_containers|Implementing HTTPS / SSL with Traefik on Docker Containers]]. Now that we are more familiar with the CLI we can deploy a [[refractor_computer_science:docker:webui_for_docker_portainer|WebUI for Docker - Portainer]] which can make your life easier if you are in a rush. CLI will still be king, but the ease of use of a WebUI might be quite handy sometimes.