I just start using my homelab to host some new good services, and I want to know what is the approach of a docker setup, what is the best distro for? How to deploy them correctly? Basically I’m a real noob in this subject. Thank you
I just start using my homelab to host some new good services, and I want to know what is the approach of a docker setup, what is the best distro for? How to deploy them correctly? Basically I’m a real noob in this subject. Thank you
And what is the good way of deploying it? After pulling the image, how do we autostart it etc…
The Docker documentation is pretty terrible, but it’s a decent start. Start by looking at docker-compose.yml files for the services you want to run and the write-ups for those.
Something nobody ever told me, that I had to figure out myself, is that docker-compose.yml files can be placed anywhere you want.
Should I make the docker compose files or pull the image from hub.docker.com?
Your compose file will pull the image when you run it, from the registry it’s in
At its simplest:
docker run -d --name servicename --restart unless-stopped container
That’ll get you going. Youi’ll have containers running, they restart, etc. There are more sophisticated ways of doing things (create a systemd file that starts/stops the container, use kubernetes, etc.) but if you’re just starting this will likely work fine.
Are they starting automatically at boot?
EDIT : how do you run a container with a simple name instead of using his id?
Yes - they’ll start automatically. There are other options for “restart” that define the behavior.
You can give whatever you like to “servicename” and use that rather than the ID.
For example:
docker run -d --name mysite --restart unless-stopped nginx docker stop mysite docker start mysite
thx
in a docker compose file you can set the option “restart: unless-stopped”
https://docs.docker.com/reference/compose-file/services/#restart
Create a systemctl service for it, create a cron, or of there is a lot of interconnectivity between your containers look at something like K3S.