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…
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.
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