docker清理命令prune
Docker使用中会产生很多冗余的镜像、容器和数据卷,那么怎么来清理这些冗余呢?
系统环境:
虚拟机:Parallels Desktop 16 for Mac .Version 16.1.2(49151)
操作系统:CentOS Linux release 8.4.2105
Docker:20.10.7, build f0df350
常用清理命令参考:
清理所有未使用的镜像、容器和数据卷(不懂该命令请慎用):
docker system prune
查看所有悬挂状态的镜像:
docker image ls -f dangling=true
清理所有悬挂状态的镜像:
docker image prune
OR
docker image rm $(docker image ls -f dangling=true -q)
删除所有停止状态的容器:
docker container prune
删除所有容器(你的所有容器会被清空,慎用)
docker rm -f $(docker ps -aq)
OR
docker container rm -f $(docker container ls -aq)
删除不再使用的数据卷
docker volume rm $(docker volume ls -q)
OR
docker volume prune
删除构建缓存
docker builder prune
Docker运行mysql设置密码问题
Docker运行mysql时,必须提供一个初始化密码,但是有的开发者是本地测试使用,所以不想加密码该如何操作呢?
系统环境:
虚拟机:Parallels Desktop 16 for Mac .Version 16.1.2(49151)
操作系统:CentOS Linux release 8.4.2105
Docker:20.10.7, build f0df350
MySQL:5.7
解决方案:
执行以下命令即可,连接mysql不需要填写密码便能连接上
docker run --name mysql57 \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
-p 3306:3306 \
-d mysql:5.7
参数参考:
运行容器时设置root密码为:123456
docker run --name mysql57 \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d mysql:5.7
运行容器时创建一个新的用户,并将root密码设置为随机,一般使用场景为单个项目数据库使用唯一的账号密码来管理:
docker run --name=mysqlBlog \
-e MYSQL_DATABASE=blog \
-e MYSQL_USER=blog \
-e MYSQL_PASSWORD=blog \
-e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-p 3306:3306 \
-d mysql:5.7
Docker容器中如何使用vi或者vim编辑器
Docker容器没有安装vi或者vim编辑器,导致提示:command not found
系统环境:
虚拟机:Parallels Desktop 16 for Mac .Version 16.1.2(49151)
操作系统:CentOS Linux release 8.4.2105
Docker:20.10.7, build f0df350
解决方案:
依次执行以下命令即可
apt-get update
apt-get install vim -y