还得是chatgpt
#!/bin/bash
# 获取所有正在运行的容器ID
container_ids=$(sudo docker ps -q)
# 循环遍历容器ID并执行备份
for container_id in $container_ids; do
# 获取容器名称
container_name=$(sudo docker inspect --format='{{.Name}}' $container_id)
# 去掉容器名称中的斜杠字符
container_name=${container_name:1}
# 指定备份文件名(可根据需求自行更改)
backup_file="${container_name}_backup"
# 备份容器
sudo docker commit $container_id $backup_file
# 保存容器
sudo docker save $backup_file -o "${backup_file}.tar"
echo "Container $container_name backed up as $backup_file"
done
注意映射后的文件需要单独备份