启动容器
docker start <容器名>
进入容器
docker exec -it <容器名> /bin/sh
查所有容器(含停止的):
docker ps -a
查找日志
docker logs -f —tail 100 <容器名>
强制进入镜像(查看镜像配置)
docker run --rm -it --entrypoint /bin/sh nacos/nacos-server:latest
停止并移除容器、查看、删除卷列表:
# 停止并移除相关容器
docker-compose down
# 查看卷列表
docker volume ls
# 删除 mysql-data 卷
docker volume rm your_project_mysql-data
# 验证卷是否删除成功
docker volume ls
查看特定卷的详细信息
使用 docker volume inspect
命令查看 mysql-data
卷的详细信息,以获取其实际的文件夹路径:
docker volume inspect your_project_mysql-data
该命令会输出一个 JSON 格式的信息,其中 Mountpoint
字段就代表了该卷在宿主机上的实际存储路径,示例如下:
json
[
{
"CreatedAt": "2025-03-20T14:25:30Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "your_project",
"com.docker.compose.version": "1.29.2",
"com.docker.compose.volume": "mysql-data"
},
"Mountpoint": "/var/lib/docker/volumes/your_project_mysql-data/_data",
"Name": "your_project_mysql-data",
"Options": null,
"Scope": "local"
}
]
从上述输出可知,mysql-data
卷对应的文件夹路径是 /var/lib/docker/volumes/your_project_mysql-data/_data
。
查看或者删除现有镜像
在删除镜像之前,你需要知道当前 Docker 环境中存在哪些镜像。可以使用以下命令查看:
docker images
该命令会列出所有本地镜像,输出内容包含仓库名(REPOSITORY)、标签(TAG)、镜像 ID(IMAGE ID)、创建时间(CREATED)以及大小(SIZE)等信息。
确保镜像未被使用
在删除镜像之前,要保证该镜像没有被任何容器使用。如果有容器基于该镜像创建并正在运行或者停止状态,需要先停止并删除这些容器。
- 停止正在运行的容器:
docker stop <容器 ID 或容器名称>
可以使用docker ps
查看正在运行的容器,使用docker ps -a
查看所有容器(包括已停止的)。
- 删除停止的容器:
docker rm <容器 ID 或容器名称>
你也可以使用一条命令直接停止并删除容器:
docker rm -f <容器 ID 或容器名称>
删除镜像
根据不同的情况,可使用以下几种方式删除镜像:
- 根据镜像 ID 删除:
docker rmi <镜像 ID>
可以只提供镜像 ID 的前几位,只要能唯一标识该镜像即可。例如:
docker rmi 123abc
- 根据仓库名和标签删除:
docker rmi <仓库名>:<标签>
例如删除名为nginx
,标签为latest
的镜像:
docker rmi nginx:latest
- 强制删除镜像:如果在删除镜像时遇到一些依赖问题等导致无法正常删除,可以使用
f
参数进行强制删除:
docker rmi -f <镜像 ID 或 仓库名:标签>
- 删除多个镜像:可以同时指定多个镜像 ID 或 仓库名:标签 来一次性删除多个镜像,用空格分隔它们。例如:
docker rmi image1 image2 image3
清理悬空镜像
悬空镜像(dangling images)是指没有任何标签的镜像,它们通常是在构建新镜像或者更新标签时产生的。可以使用以下命令清理这些悬空镜像:
docker image prune
执行该命令后,会提示你确认是否要删除悬空镜像,输入y
并回车即可完成删除。如果要自动确认删除,不进行提示,可以使用-f
参数:
docker image prune -f
假设我们要删除名为myapp
,标签为v1
的镜像,操作步骤如下:
`# 查看是否有基于该镜像的容器正在运行
docker ps
如果有,停止并删除容器
docker stop myapp-container
docker rm myapp-container
删除镜像
docker rmi myapp:v1`
通过以上步骤,你就可以在 Docker 中安全地卸载(删除)镜像。