Bonjour,
Enfaite, un conteneur Docker exécute une image, cette image est crée avec l'aide d'un fichier Dockerfile et de la commande ´docker build´.
Une image docker possède un tag, car sa convention de nommage est la suivante ´nomimage:tag´.
Pour récupérer les modifications, tu peux avoir une CI/CD Gitlab (.gitlab-ci.yml) afin de la déclencher à chaque commit, merge request, à la demande etc.. A toi de voir ce que tu veux :)
Puis dans cette CI tu vas configurer afin de faire:
- Build d'une nouvelle image ´docker build -t tag nomimage´
- Push de l'image sur une registry (accessible sur ton serveur) en faisant ´docker push nomimage:tag´
- Déclenchement du déploiement de ta nouvelle image sur ton serveur (à toi de voir suivant si tu utilises un orchestrateur ou non)
Pour répondre à ta question, oui cela va recréée ou remplacer le containeur avec la nouvelle image et donc la nouvelle version ;)
C'est une très bonne pratique d'utiliser Docker, après suivant la taille du projet ou le type de projet c'est plus ou moins utilisé. Si tu l'utilises tu as différend type de déploiement, dans une entreprise de bonne taille avec une recherche de SLA très haut, on voit souvent l'utilisation d'orchestrateur de containers (comme Kubernetes, Nomad ou plus basique Swarm, ...) et souvent il te simplifie les déploiements mais c'est overkill pour juste héberger un site web