docker 中dockerfile volumn 与-v 的区别
1.查看镜像的dockerfile里面有定义volumn数据卷,语句 :VOLUME /var/lib/postgresql/data。生成容器后,执行docker inspect contain_id,在输出信息中的mount可以看到volumn的文件夹。2如果使用-v在启动容器时挂,docker run --name ttpostgres2
1. 查看镜像的dockerfile 里面有定义volumn数据卷,语句 :VOLUME /var/lib/postgresql/data。
生成容器后,执行docker inspect contain_id,在输出信息中的mount 可以看到volumn 的文件夹。
2 如果使用-v 在启动容器时挂,
docker run --name ttpostgres2 -p 5410:5432 -e POSTGRES_PASSWORD=123456 -v /var:/var/lib/postgresql -d postgres:9.6
执行docker inspect contain_id 中的 mount 可以看到如下内容
注; 以上两种方法得到的type 是不一样的。
3. 如果volumn 和-v 挂载相同的文件夹,这样仅仅会显示-v的挂载,似乎会覆盖volumn。当执行docker inspect contain_id时 ,仅仅可以得到如下的mount
docker run --name ttpostgres2 -p 5410:5432 -e POSTGRES_PASSWORD=123456 -v /root/data:/var/lib/postgresql /data -d postgres:9.6
4. 如果volumn 和-v 挂载不同的文件夹,执行docker inspect contain_id,在输出信息中的mount 可以看到volumn 和 bind 两部分。
pg 中var/lib/postgresql/data 通过volumn 挂载了,在容器外面可以查到和容器相同的内容。 例如我在容器内新建了一个表,容器内外都可以查到。
更多推荐
所有评论(0)