Leonurus-free

Docker rm

docker rm 根据容器的名称或者 ID 来删除容器。

如果 Docker 容器正在运行,你在删除它们之前需要先停止运行。

删除多个容器

你可以通过向命令传递要删除的容器列表来停止和删除多个容器。shell 语法 $() 返回括号中执行的任何结果。因此,你可以在其中创建容器列表,以传递给 stoprm 命令。

docker ps -a -q 分解

1. 查看镜像的详细信息

查看 Docker 镜像的详细信息对于了解镜像的大小、创建时间等非常有用:

#!/bin/bash
# 查看镜像的详细信息
docker inspect $1

解释:


2. 限制容器的资源

为了避免单个容器占用过多系统资源,可以在启动容器时限制其资源使用:

#!/bin/bash
# 限制容器的资源
docker run -d --memory="512m" --cpus="1" --name my_container my_image

解释:


3. 备份容器的数据

#!/bin/bash
# 备份容器的数据
CONTAINER_ID=$1
BACKUP_FILE="${CONTAINER_ID}_backup_$(date +%F).tar"
docker export $CONTAINER_ID > $BACKUP_FILE
echo "备份保存到 $BACKUP_FILE"

解释:


4. 删除停止的容器

#!/bin/bash
# 删除所有停止的容器
docker rm $(docker ps -aq -f "status=exited")

解释:


5. 自动重启容器

#!/bin/bash
# 使用重启策略重启容器
CONTAINER_NAME=$1
docker update --restart always $CONTAINER_NAME
echo "$CONTAINER_NAME 现在将在失败后自动重启。"

解释:


6. 运行容器并在退出后清理

#!/bin/bash
# 运行容器并清理
IMAGE_NAME=$1
docker run --rm $IMAGE_NAME

解释:


7. 列出所有容器的镜像层

在调试或排查容器相关问题时,查看容器的镜像层有时非常有帮助。以下脚本列出每个容器的镜像层:

#!/bin/bash
# 列出所有容器的镜像层
docker inspect --format ': ' $(docker ps -q)

解释:


8. 自动清理未使用的资源

#!/bin/bash
# 清理未使用的资源
docker system prune -f --volumes

解释:


9. 删除dangling的镜像

#!/bin/bash
# 删除dangling 镜像
docker rmi $(docker images -q -f "dangling=true")

解释:


10. 查看容器的详细信息

如果需要查看容器的详细信息(例如环境变量、配置等),可以使用以下脚本:

#!/bin/bash
# 查看容器的详细信息
CONTAINER_ID=$1
docker inspect $CONTAINER_ID

解释:


11. 监控容器的资源使用情况

#!/bin/bash
# 监控所有运行中容器的资源使用情况
docker stats --all

解释:


12. 重启所有容器

#!/bin/bash
# 重启所有容器
docker restart $(docker ps -q)

解释:


13. 自动启动所有容器

#!/bin/bash
# 启动所有停止的容器
docker start $(docker ps -aq)

解释:


14. 从容器复制文件

#!/bin/bash
# 从容器复制文件
CONTAINER_ID=$1
SOURCE_PATH=$2
DEST_PATH=$3
docker cp $CONTAINER_ID:$SOURCE_PATH $DEST_PATH
echo "从 $CONTAINER_ID 复制 $SOURCE_PATH 到 $DEST_PATH"

解释:


15. 列出所有暴露的端口

#!/bin/bash
# 列出所有暴露的端口
docker ps --format ': '

解释:


16. 从备份恢复容器

#!/bin/bash
# 从 tar 备份恢复容器
BACKUP_FILE=$1
docker import $BACKUP_FILE restored_container:latest
echo "容器恢复为 'restored_container:latest'"

解释:


17. 检查所有容器的日志

#!/bin/bash
# 显示所有容器的日志
docker ps -q | xargs -I {} docker logs {}

解释:


18. 删除挂起的容器

有时容器会被暂停或进入挂起状态,您可以使用以下脚本来自动清理这些状态异常的容器:

#!/bin/bash
# 删除挂起的容器
docker rm $(docker ps -aq -f "status=paused")

解释:


19. 更新运行中的容器

#!/bin/bash
# 更新运行中的容器
CONTAINER_NAME=$1
IMAGE_NAME=$(docker inspect --format='' $CONTAINER_NAME)
docker pull $IMAGE_NAME
docker stop $CONTAINER_NAME
docker rm $CONTAINER_NAME
docker run -d --name $CONTAINER_NAME $IMAGE_NAME

解释:


20. 停止所有运行中的容器

#!/bin/bash
# 停止所有运行中的容器
docker stop $(docker ps -q)

解释: