具名挂载和匿名挂载

匿名卷挂载 : -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

启动自己写的镜像

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

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

相关推荐
Anastasiozzzz19 分钟前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人21 分钟前
通过脚本推送Docker镜像
java·docker·容器
刘琦沛在进步23 分钟前
【C / C++】引用和函数重载的介绍
c语言·开发语言·c++
机器视觉的发动机34 分钟前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
铁蛋AI编程实战38 分钟前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python
HyperAI超神经42 分钟前
在线教程|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
开发语言·人工智能·深度学习·神经网络·机器学习·ocr·创业创新
晚霞的不甘1 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
SunnyDays10111 小时前
使用 Java 冻结 Excel 行和列:完整指南
java·冻结excel行和列
R_.L1 小时前
【QT】常用控件(按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
开发语言·qt
Zach_yuan1 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络