具名挂载和匿名挂载

2023-11-10 19:36
文章标签 匿名 挂载 具名

本文主要是介绍具名挂载和匿名挂载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

启动自己写的镜像

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

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

这篇关于具名挂载和匿名挂载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384813

相关文章

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

【JavaScript】方法属性的匿名函数是匿名函数么(附:获取当前执行函数名称的方法)

var ninja = {shout: function(){console.log("hello");}}   有些人可能认为,将匿名函数赋值给名为shout的属性也就相当于给它取了名字,其实这是不正确的理解。shout是属性的名称,而不是函数自身的名称。这一点可以通过检查函数的name属性来验证。 下面是一些测试实例,请自行思考(前两个均为匿名函数):

匿名对象-详解

在 C++ 中,匿名对象通常指的是那些在定义时没有名字的对象。这些对象的生命周期通常是临时的,它们在创建它们的表达式结束后很快就会被销毁。以下是一些 C++ 中匿名对象的例子: 1. **临时对象**:    临时对象是在表达式中创建的,没有名字的对象。它们通常用于函数返回对象时,或者在需要隐式转换时。    std::string getName() {return std::string(

android kotlin复习 Anonymous function 匿名函数

1、还是先上个图,新建kt: 2、代码: package com.jstonesoft.myapplication.testfun main(){val count = "helloworld".count()println(count);println("------------------------")var count2 = "helloworld".count(){it ==

【上】java获取requestMapping上所有注解功能实现及取匿名注释类的值及 class com.sun.proxy.$Proxy140 转换出错

java获取requestMapping上所有注解功能实现及取匿名注释类的值及 class com.sun.proxy.$Proxy140 转换出错 1,多人相当然以为类似对象一样直接强转下就可以,结果迎来的是class com.sun.proxy.$Proxy140转换出错【想法很勇敢,现实很骨感】 //Class<A> operatorMappingAnnotationType// 错误

docker-mysql容器数据卷挂载

一、案例2-mysql容器的数据挂载 1-1、需求 查看mysq|容器,判断是否有数据卷挂载基于 宿主机目录实现MySQL数据目录、配置文件、初始化脚本的挂载(查阅官方镜像文档) 二、判断该容器是否有数据卷挂载 2-1、查看容器详情 nginx:还可以是容器iddocker inspect nginx如图就可以看到数据挂载 查看mysql容器 这个不是我们创建的,自动生成的(是一

docker-nginx数据卷挂载

一、案例1-利用Nginx容器部署静态资源 1.1、需求: 创建Nginx容器, 修改nginx容器内的html目录下的index.html文件,查看变化将静态资源部署到nginx的html目录 1.2、修改html目录下的index.html文件,查看变化 因为docker运用得最小化系统环境,解决办法就是数据卷 二、数据卷 2.1、数据卷概念 数据卷是一个虚拟目录,是容器内目录

C++:Lambda表达式及匿名函数

C++Lambda表达式及匿名函数 1. 语法2. 语法3. 变量捕获 1. 语法 [ 捕获列表 ] ( 参数列表 ) -> 返回类型 { 函数体 } [OuterVar](int x, int y) -> int{return OuterVar + x + y;} 可以忽略参数列表和返回类型,但必须永远包含捕获列表和函数体。 忽略参数列表等价于指定一个空函数列表,