具名挂载和匿名挂载

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

启动自己写的镜像

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

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

相关推荐
雾岛听蓝5 分钟前
C++11 列表初始化与右值引用核心解析
开发语言·c++·经验分享
Maynor99612 分钟前
Clawdbot安装教程:从零开始到接入飞书
java·数据库·飞书
小北方城市网15 分钟前
Spring Boot 多数据源与事务管理实战:主从分离、动态切换与事务一致性
java·开发语言·jvm·数据库·mysql·oracle·mybatis
痴儿哈哈15 分钟前
C++与硬件交互编程
开发语言·c++·算法
roman_日积跬步-终至千里35 分钟前
【Java 并发-面试】从线程基础到企业级开发的知识点概况
java·开发语言
云中飞鸿35 分钟前
VS2015安装后,安装QT59,之后安装qt-vsaddin-msvc2015-2.4.3.vsix 文件失败问题!
开发语言·qt
m0_7482331739 分钟前
C与C++:底层编程的六大核心共性
java·开发语言
沐知全栈开发41 分钟前
HTTP Content-Type
开发语言
坊钰44 分钟前
【Rabbit MQ】Rabbit MQ 介绍
java·rabbitmq
一切尽在,你来1 小时前
C++多线程教程-1.2.2 C++标准库并发组件的设计理念
开发语言·c++