具名挂载和匿名挂载

匿名卷挂载 : -v 的时候只指定容器内的路径 如下面这个:/etc/nginx

1.docker run -d -P --name nginx -v /etc/nginx nginx

2.查看所有卷 docker volume ls

这里发现,这就是匿名挂载,只指定容器内的路径,没有指定容器外的路径

再启动一个具名挂载 docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx nginx

-P就是随机指定端口 具名挂载语法: -v 卷名:容器内路径

再次查看所有卷 docker volume ls 发现有名字了,就是刚才取的,这就是具名挂载

显示卷 juming-nginx 的信息 docker volume inspect juming-nginx

所有docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/卷名/_data 中,所有数据都存放在_data里面

进入cd /var/lib/docker

接着进入cd volumes 我们的卷都在volumes 中

进入juming-nginx

进入_data目录,可以看到我们nginx的配置文件,已经拿到了我们的配置文件

我们通过具名挂载可以方便找到我们的卷,大都数情况都使用具名挂载

那么如何确定是 匿名挂载,具名挂载,还是指定路径挂载呢?

-v 容器内路径 匿名挂载

-v 卷名:容器内路径 具名挂载

-v /宿主机路径:容器内路径 指定路径挂载(只要带斜杠/的就是指定路径挂载)

拓展:

我们经常看到通过-v 容器内路径:ro rw 改变读写权限

ro readonly 只读

rw readwrite 可读可写

一旦这个设置了容器权限,容器对我们挂载出来的内容就限制了,这个是相对容器来说的,假如我们把这个容器挂载出来了,再这个容器中就无法操作了(只针对ro这个,rw有权限)

docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:ro nginx

docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:rw nginx

ro ---只要看到ro 就说明这个路径只能通过宿主机来操作,容器内部无法操作,因为他是只读的权限,没有写的权限

初识Dockerfile

Dockerfile就是创建自己的镜像,也能通过hub.docker分享自己自定义的镜像

dockerfile就是用来构建docker镜像的构建文件!命令脚本!先来体验一下

通过这个脚本可以生成镜像,镜像是一层一层的,脚本也是一个个的命令,每个命令都是一层

dockerfile就是再创建镜像的时候连同挂载

1.创建文件

进入文件 cd docker-test-volume/

创建一个dockerfile文件 vim dockerfile 建议名字就叫dockerfile

FROM centos

VOLUME "volume01","volume02"

CMD echo "-------end--------"

CMD /bin/bash

3.docker build -f /home/docker-test-volume/dockerfile1 -t zzq/centos:1.0 .

查看docker images

启动自己写的镜像

这个目录就是我们生成镜像的时候自动挂载的,就是数据卷目录

这个卷和外部一定有一个同步的目录

相关推荐
CodeStats11 小时前
《源纹天书》卷一:归元初醒(第1-5章)
java
大囚长11 小时前
大模型服务端如何命中缓存
java·人工智能·缓存·dubbo
摇滚侠11 小时前
SpringMVC 入门到实战 拦截器 78-82
java·后端·spring·maven·intellij-idea
xiaoshuaishuai811 小时前
C# 定制化Markdown编辑器
开发语言·c#·编辑器
DogDaoDao11 小时前
C++核心技术深度剖析:从底层原理到工程实践
开发语言·c++·面试·程序员·指针·虚函数
磊 子11 小时前
C++移动语义和智能指针
java·开发语言·c++
JAVA面经实录91711 小时前
Elasticsearch 完整版完整知识体系
java·elasticsearch·搜索引擎·es
不负岁月无痕11 小时前
C++继承与多态知识点及其高频面试问题
开发语言·c++·面试
hikktn11 小时前
ORA-01861 日期格式错误的根治方案:从 SQL 层到 Java 层的标准化治理
java·python·sql
June`11 小时前
如何组织一个并行程序
开发语言·cuda