文章目录
1:直接删除所有镜像或容器
# 直接删除所有镜像
docker rmi `docker images -q`
# 直接删除所有容器
docker rm `docker ps -aq`
2:按条件筛选之后删除
# 按条件筛选之后删除镜像
docker rmi `docker images | grep xxxxx | awk '{print $3}'`
# 按条件筛选之后删除容器
docker rm `docker ps -a | grep xxxxx | awk '{print $1}'`
3:删除所有容器
docker rm `docker ps -a -q`
4:删除所有镜像
docker rmi `docker images -q`
5:按条件删除镜像
- 没有打标签
docker rmi `docker images -q | awk '/^<none>/ { print $3 }'`
- 镜像名包含关键字
docker rmi --force `docker images | grep doss-api | awk '{print $3}'` //其中doss-api为关键字
6:启动所有容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
7:关闭所有容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
8:删除所有容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
9:删除所有镜像(慎用)
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
10:列出所有的容器 ID
docker ps -aq
11:复制文件
docker cp mycontainer:/opt/file.txt /opt/local/
docker cp /opt/local/file.txt mycontainer:/opt/
12:删除所有不使用的镜像
docker image prune --force --all或者docker image prune -f -a`
12:删除所有停止的容器
docker container prune -f
13:进入docker容器
docker exec -it 44fc0f0582d9 /bin/bash
14:修改容器配置文件
15:docker rmi ID 的命令删除镜像时,若报错的删除方式
docker rmi nginx:1.13.6-alpine
16:docker常用命令
1. 查看所有容器:docker ps -a
2. 删除镜像:docker rmi imageId
3. 删除容器:docker rm containerId
4. 直接运行一个停止的容器:docker start containerId
5. 进入容器:docker exec -it 09d2a6ee4095 /bin/bash
6. 退出容器:exit
7. 将容器打包成镜像:docker commit containerId imageName,如:docker commit 1f9dfc05e3ad spring-microservice-exam-mysql
17:docker-compose
基本命令:
1. 启动镜像:docker-compose up
2. 后台启动:docker-compose up -d // 后台启动并运行容器
3. 指定配置文件:docker-compose -f docker-compose-base.yml up
4. 构建服务:docker-compose -f docker-compose-base.yml build
5. 列出所有容器:docker-compose ps
6. 删除容器:docker-compose rm container,如:docker-compose rm config-service
7. 停止正在运行的容器:docker-compose stop
18:使用示例
MySQL镜像构建、运行、初始化的docker-compose例子:
docker-compose-env.yml:
# MySQL
spring-microservice-exam-mysql:
image: mysql:5.7
volumes:
- data:/var/lib/mysql
# 自动执行初始化脚本
- ./doc/deploy/mysql:/docker-entrypoint-initdb.d/
environment:
MYSQL_ROOT_PASSWORD: 11 # root账户的密码
restart: always
container_name: spring-microservice-exam-mysql
ports:
- 3306:3306
volumes:
data:
driver: local
运行:docker-comopse -f docker-comopse-env.yml up
19:docker重启容器
docker start 容器ID或容器名,建议使用容器ID,容器ID支持模糊查询而容器名称不支持
vi 修改的文件
30:参考文章
- https://blog.csdn.net/xs20691718/article/details/81868909
- https://www.cnblogs.com/yanyouqiang/p/8301856.html
- https://zhuanlan.zhihu.com/p/98982041
- https://colobu.com/2018/05/15/Stop-and-remove-all-docker-containers-and-images/
- https://blog.csdn.net/sunmingyang1987/article/details/104493245/
- https://blog.csdn.net/weixin_30782331/article/details/101406195