首页 > 其他分享 >docker存储

docker存储

时间:2023-08-21 12:38:20浏览次数:46  
标签:容器 存储 nginx 挂载 docker 数据 Docker

一、什么是容器数据卷

Docker将运用与运行的环境打包形成容器运行, Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来, 那么当容器删除后,数据自然也就没有了。 为了能保存数据在Docker中我们使用卷。

卷就是目录或文件,存在于一个或多个容器中,由Docker挂载到容器,但卷不属于联合文件系统(Union FileSystem),因此能够绕过联合文件系统提供一些用于持续存储或共享数据的特性

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

Docker容器卷的工作就是将docker容器数据通过映射进行备份+持久化到本地的主机目录。


二、常用命令

1、创建数据卷


docker volume create demo

docker存储_docker

2、查看所有的数据卷

docker volume  ls

docker存储_docker_02

3、查看指定数据卷的信息

docker volume inspect demo

docker存储_docker_03

4、输出数据卷

docker volume rm demo  无法删除正在被使用的容器存在的数据卷

docker存储_存储_04

docker rm -v  demo ... 命令用于删除已停止的容器,并且同时删除与容器关联的数据卷。

数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷 。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个命令。


5、清理数据卷

docker volume prune

docker存储_存储_05

Docker所有的数据卷默认挂载在宿主机 /var/lib/docker/volumes/ 目录下

三、docker镜像如何存储构建

1、docker histort

这将显示 ubuntu 镜像的构建历史,包括每个构建层的 ID、创建时间、所占用的空间大小以及构建命令等

docker存储_docker_06

2、Docker image inspect nginx

查看nginx镜像

将显示关于该镜像的详细信息,包括标签、镜像 ID、创建时间、挂载点、环境变量等等

docker存储_docker_07

GraphDriver(图形驱动程序)是 Docker 中的组件之一,用于管理容器镜像和容器的存储。它是 Docker 镜像和容器的存储驱动程序。

GraphDriver 在 Docker 中负责将文件系统提供给容器,以便容器可以在其上进行读写操作。它实际上是一个存储后端,负责管理镜像的增量存储和容器的写入操作

其中,LowerDir 是底层目录,包含小型 Linux 和装好的软件]

第一个是用户文件

docker存储_存储_08

第二个用户文件

docker存储_docker_09

第三个nginx启动命令

docker存储_docker_10

第四个nginx配置文件

docker存储_docker_11

第五小型linux文件系统

docker存储_docker_12


四、容器如何挂载卷

1、docker run -d -P -v /var/nginx/html:/usr/share/nginx/html nginx

将在后台模式下运行一个名为 “nginx” 的容器,并将主机的 /var/nginx/html目录挂载到容器的 /usr/share/nginx/html 

-d:将容器设置为后台模式运行。

-P:将容器的公开端口随机映射到主机的高端口。

-v /var/nginx/html:/usr/share/nginx/html:将主机的 /var/nginx/html 目录挂载到容器的 /usr/share/nginx/html 目录。

这样挂载后,你可以在主机上的 /var/nginx/html 目录中放置静态网页文件,Nginx 将使用这些文件来提供服务

2、挂载卷

要将一个新建的数据卷挂载到指定的容器中,可以按照以下步骤进行操作:创建一个新的数据卷:

docker volume create mydata

此命令将创建一个名为 mydata 的新数据卷。运行容器并将新建的数据卷挂载到容器中:

docker run -d --name mycontainer -v mydata:/path/to/mount myimage

mycontainer 是要运行的容器的名称,myimage 是容器所使用的镜像,mydata 是之前创建的数据卷名称,/path/to/mount 是要将数据卷挂载到容器内的路径。

当运行该命令后,mydata 数据卷的内容将被挂载到 mycontainer 容器中的 /path/to/mount 路径下。


标签:容器,存储,nginx,挂载,docker,数据,Docker
From: https://blog.51cto.com/u_14869798/7173510

相关文章

  • docker centos7乱码怎么解决
    采用dockerpulldocker.io/centos下载的基础镜像,是不带中文环境的。可以进入容器内使用locale查看当前语言环境。#添加中文环境编码,安装两个包yuminstallkde-l10n-Chinese-yyuminstallglibc-common-y#转化语言环境和字符集localedef-c-fUTF-8-izh_CNzh......
  • docker 设置环境变量
    dockerrun-itd--namejf--restart=always--privileged=true-p8080:8080-v/home/yida/apps/jf/logs-8076:/usr/local/tomcat/logs-eMYSQL_SERVICE_HOST=10.143.133.118-eMYSQL_SERVICE_PORT=3306-eMYSQL_SERVICE_USER=root-eMYSQL_SERVICE_PASSWORD=5mLzHsy......
  • Docker 命令汇总
    容器操作查看正在运行的容器:dockerps查看所有容器(包括停止的容器):docker ps -a启动容器:docker start停止容器:docker stop进入正在运行的容器:docker exec -it /bin/bash导出容器为镜像:docker commit删除容器:docker rm镜像操作查看本地镜像列表:docker images拉取镜像:d......
  • 分析 plsql 存储过程的手段
    一般来说存储过程有问题,或者说运行比较慢,都是sql本身执行慢,就把存储过程的问题转化成优化sql问题上了。使用dbms_profile包可以查看存储过程的具体运行情况,每一步的运行时间,可以帮助我们更好的分析存储过程mos文档号如下UsingDBMS_PROFILER(DocID97270.1)......
  • Docker 的数据管理
    目录一、管理Docker容器中的数据1.数据卷2.数据卷容器二、容器互联三、Docker镜像创建1.基于已有镜像创建2.基于本地模板创建3.基于Dockerfile创建(1)联合文件系统(UnionFS)(2)镜像加载原理一、管理Docker容器中的数据管理Docker容器中数据主要有两种方式:数据卷(DataVolum......
  • Dockerfile 构建镜像
    目录一、构建Apache镜像1.创建工作目录2.编辑Dockerfile脚本3.编辑run执行脚本4.准备网站页面5.生成镜像6.新镜像运行容器7.测试二、构建SSH镜像1.创建工作目录2.创建Dockerfile脚本3.生成镜像4.启动容器并使用密码登录5.更改密码三、构建Systemctl镜像1.创建......
  • Docker 搭建 LNMP 架构的 Wordpress网站
    目录一、项目环境二、服务器环境三、任务需求四、获取Linux系统基础镜像五、Nginx1.建立工作目录2.编写Dockerfile脚本3.编辑nginx的主配置文件4.生成镜像5.创建自定义网络6.启动镜像容器7.验证nginx六、MySQL1.建立工作目录2.编写Dockerfile3.编辑mysql主配......
  • Dockerfile创建镜像
    Dockerfile是用于定义和构建Docker镜像的重要工具,它使得镜像的构建过程更加可控、可重复和可自动化,为应用程序的打包、分发和部署提供了便利性和灵活性。目录一、创建镜像方法二、Dockerfile概述三、Dockerfile操作指令 四、Dockerfile案例五、总结  一、创建镜像方......
  • docker——创建一个harbor仓库
    1.什么是harbor就像docker官方一样,它有一个hub.docker.com的官方仓库,给我们提供很多实用的镜像文件,使得我们直接使用dockerpull将需要的镜像拉取下来就可以运行使用了。同样的,我们用户自己也可以创建一个镜像仓库,把我们自己创建的镜像文件推送的私有的harbor仓库里面去,也可以拉取......
  • 如何解决docker 一直转圈圈而不start
    今天在进行启动docker的时候出现了一直转圈圈而不能启动的问题我的电脑是windows10,解决步骤是:首先右击右下角任务栏中的小图标docker,有个Switchtowindowscontainers选择后,打开WindowsPowerShell以管理员的身份运行然后输入Enable-WindowsOptionalFeature-Online-Feat......