add update docker script
This commit is contained in:
44
update-docker/README.md
Normal file
44
update-docker/README.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# 🛠️ Maintenance Script for Docker Containers
|
||||||
|
|
||||||
|
Automates updating your Docker containers on Debian-based systems by pulling the latest images, restarting services, and cleaning up unused resources.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Installation, Setup & Running
|
||||||
|
|
||||||
|
Download the maintenance script to your Docker project directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# cd into the docker folder
|
||||||
|
wget -qO update-docker.sh https://gitea.featherer.xyz/nono/update-docker/raw/branch/main/update-docker.sh
|
||||||
|
source update-docker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Or, when run locally (replace the ip address to your own)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# cd into the docker folder
|
||||||
|
wget -qO update-docker.sh http://10.1.0.102:3000/nono/update-docker/raw/branch/main/update-docker.sh
|
||||||
|
source update-docker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 What It Does
|
||||||
|
|
||||||
|
1. **Updates system packages**
|
||||||
|
Runs `apt update` and `apt upgrade -y` to ensure your host is up to date.
|
||||||
|
2. **Refreshes Docker services**
|
||||||
|
Executes `docker-compose pull`, `docker-compose down`, and `docker-compose up -d` to fetch new images and restart containers.
|
||||||
|
3. **Cleans up unused resources**
|
||||||
|
Calls `docker system prune -a -f` to remove dangling images, stopped containers, and unused networks.
|
||||||
|
4. **Verifies running containers**
|
||||||
|
Lists active containers with `docker ps` so you can confirm everything is up and running.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Prerequisites
|
||||||
|
|
||||||
|
- **Debian-based OS** (e.g., Debian, Ubuntu)
|
||||||
|
- **Docker** & **Docker Compose** installed
|
||||||
|
- A user with **sudo** privileges or in the **docker** group
|
||||||
33
update-docker/update-docker.sh
Normal file
33
update-docker/update-docker.sh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Starting system update and Docker maintenance..."
|
||||||
|
|
||||||
|
# Update and upgrade APT packages
|
||||||
|
echo "Running apt update & upgrade..."
|
||||||
|
apt update
|
||||||
|
apt upgrade -y
|
||||||
|
|
||||||
|
# Pull latest images, stop containers, and recreate in detached mode
|
||||||
|
echo "Pulling latest Docker images..."
|
||||||
|
docker compose pull
|
||||||
|
|
||||||
|
echo "Stopping and removing existing containers..."
|
||||||
|
docker compose down
|
||||||
|
|
||||||
|
echo "Starting containers in detached mode..."
|
||||||
|
docker compose up -d
|
||||||
|
|
||||||
|
# Prune unused Docker objects
|
||||||
|
echo "Pruning unused Docker objects..."
|
||||||
|
docker system prune -a -f
|
||||||
|
|
||||||
|
# Show running containers
|
||||||
|
echo "Current running Docker containers:"
|
||||||
|
docker ps
|
||||||
|
|
||||||
|
echo "Maintenance complete."
|
||||||
|
|
||||||
|
echo "Removing the file"
|
||||||
|
rm -f ./update-docker.sh
|
||||||
|
|
||||||
|
echo "Done!"
|
||||||
Reference in New Issue
Block a user