批量删除
docker ps -a
拿到所有容器
docker ps -q
拿到容器ID
docker ps -aq
打印所有的容器ID
docker rm $(docker ps -aq)批量删除打印出的所有容器
若报错一般为容器正在运行中此时使用
docker rm -f $(docker ps -aq)
目录挂载
命令:(在这里插入代码片
在启动容器时使用)-v 外部主机的目录位置:对应内部容器的目录位置
docker run -d -p 内部端口:外部端口 -v 外目录位置:内目录位置 --name 指定容器名 镜像名
即使原来没有这个外目录也会自动进行创建,可用cd到目录进行查看,同时IP访问时会以外目录中的内容为准
修改的流程:
docker exec -it 容器名 bin/bash
cd 至内目录
ls列出当前目录下的文件和子目录。
cat 具体文件——查看文件内容
echo 输出到文件
echo “Hello, World!” > filename.txt
echo 追加到文件
echo “Hello, World!” >> filename.txt
exit 退出
此时容器被删除,只要使用运行时的命令,使用IP访问和用cat查看都是不会出问题的(即数据不会因为容器的闪失而被清除)
卷映射
使用目录挂载进行配置文件(在事先没有把配置文件放入外文件的情况下),因为目录挂载默认是以外部目录的内容为准的。
如何实现启动容器时以内部目录为准且外部可以挂载一个目录存放后面新添加的目录呢?——卷映射
命令:-v 卷名:内部配置文件目录(命令位置位于目录映射之后)
卷其实就是一个存储,其与路径的区别在于不以./ 或者/开始,他就是一个卷
不管是手动创建的卷(docker volume create [卷名])还是启动容器自动创建的卷,最终都会放到/var/lib/docker/volumes/卷名中
关于卷的操作volume
docker volume ls
列出所有创建的卷
docker volume inspect [卷名]
查看卷的详细信息,如挂载点、创建时间等。。
docker volume rm [卷名]
删除指定的卷。
docker volume prune
删除所有未使用的卷。