Adoption d'un conteneur lance par docker run (stop + rename, rollback conserve)
This commit is contained in:
1 parent
28d0742091
commit
1c63f59a28
2 files changed
+40
No files matched your search
+24
@@ -142,6 +142,26 @@ else
|
||||
die "aucune image $FULL_IMAGE en local. Utilise --tar, --from-ssh, ou --image REPO:TAG"
|
||||
fi
|
||||
|
||||
# ------------------------------------ 3bis. adoption d'un conteneur hors compose
|
||||
# Un conteneur créé par `docker run` bloquera `up -d` (nom déjà pris). On l'arrête
|
||||
# et on le renomme au lieu de le supprimer : il reste le rollback immédiat.
|
||||
COMPOSE_PROJECT="${COMPOSE_PROJECT:-$(basename "$INSTALL_DIR")}"
|
||||
BACKUP_NAME=""
|
||||
if docker inspect streambox-aio >/dev/null 2>&1; then
|
||||
proj="$(docker inspect -f '{{index .Config.Labels "com.docker.compose.project"}}' streambox-aio 2>/dev/null || true)"
|
||||
if [ "$proj" != "$COMPOSE_PROJECT" ]; then
|
||||
BACKUP_NAME="streambox-aio.avant-compose.$(date +%Y%m%d%H%M%S)"
|
||||
log "Conteneur existant hors compose (projet='${proj:-aucun}')"
|
||||
if [ "$DRY" = 1 ]; then
|
||||
printf ' [dry-run] docker stop streambox-aio && docker rename streambox-aio %s\n' "$BACKUP_NAME"
|
||||
else
|
||||
docker stop streambox-aio >/dev/null
|
||||
docker rename streambox-aio "$BACKUP_NAME"
|
||||
ok "ancien conteneur arrêté et conservé sous $BACKUP_NAME"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# ----------------------------------------------------------------- 4. démarrage
|
||||
log "Démarrage"
|
||||
if [ "$DRY" = 1 ]; then
|
||||
@@ -169,6 +189,10 @@ for _ in $(seq 1 "$WAIT"); do
|
||||
printf ' UI : http://%s:%s\n' "$(hostname -I 2>/dev/null | awk '{print $1}')" "$UI_PORT"
|
||||
printf ' Logs : cd %s && docker compose logs -f\n' "$INSTALL_DIR"
|
||||
printf ' Rollback: IMAGE_TAG=<tag précédent> docker compose up -d\n'
|
||||
if [ -n "$BACKUP_NAME" ]; then
|
||||
printf ' Retour au conteneur manuel :\n'
|
||||
printf ' docker rm -f streambox-aio && docker rename %s streambox-aio && docker start streambox-aio\n' "$BACKUP_NAME"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
|
||||
Reference in new issue
Block a user