docker数据卷

在这里插入图片描述
数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
以Nginx为例,我们知道Nginx中有两个关键的目录:

  • html:放置一些静态资源
  • conf:放置配置文件
    如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件。
    但遗憾的是,容器运行的Nginx所有的文件都在容器内部。所以我们必须利用数据卷将两个目录与宿主机目录关联,方便我们操作
    简单说,要修改容器内部的文件就要用数据卷,相当于容器内部和外部产生一个双向绑定的关系,这样通过更改外部的文件就能修改内部的文件

在这里插入图片描述

# 1.首先创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

# 2.然后查看数据卷
docker volume ls
# 结果
DRIVER    VOLUME NAME
local     29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f
local     html

# 3.查看数据卷详情
docker volume inspect html
# 结果
[
    {
   
        "CreatedAt": "2024-05-17T19:57:08+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/html/_data",
        "Name": "html",
        "Options": null,
        "Scope": "local"
    }
]

# 4.查看/var/lib/docker/volumes/html/_data目录
ll /var/lib/docker/volumes/html/_data
# 可以看到与nginx的html目录内容一样,结果如下:
总用量 8
-rw-r--r--. 1 root root 497 1228 2021 50x.html
-rw-r--r--. 1 root root 615 1228 2021 index.html

# 5.进入该目录,并随意修改index.html内容
cd /var/lib/docker/volumes/html/_data
vi index.html

# 6.打开页面,查看效果

# 7.进入容器内部,查看/usr/share/nginx/html目录内的文件是否变化
docker exec -it nginx bash

第二种方法===========================================
挂载本地目录或文件

# 1.删除原来的MySQL容器
docker rm -f mysql

# 2.进入root目录
cd ~

# 3.创建并运行新mysql容器,挂载本地目录
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v ./mysql/data:/var/lib/mysql \
  -v ./mysql/conf:/etc/mysql/conf.d \
  -v ./mysql/init:/docker-entrypoint-initdb.d \
  mysql

在这里插入图片描述

相关推荐

  1. docker数据

    2024-02-04 15:44:02       60 阅读
  2. docker---数据

    2024-02-04 15:44:02       61 阅读
  3. Docker容器数据

    2024-02-04 15:44:02       42 阅读
  4. Docker 容器数据

    2024-02-04 15:44:02       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-04 15:44:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-04 15:44:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-04 15:44:02       87 阅读
  4. Python语言-面向对象

    2024-02-04 15:44:02       96 阅读

热门阅读

  1. 蓝桥杯题目-四个瓷瓶的神秘游戏

    2024-02-04 15:44:02       58 阅读
  2. 音频处理库和工具,以及相关开源

    2024-02-04 15:44:02       46 阅读
  3. 什么是ISO21434网络安全中的汽车网络?-亚远景

    2024-02-04 15:44:02       61 阅读
  4. nginx:配置内网转发阿里云oss

    2024-02-04 15:44:02       51 阅读
  5. js的深拷贝与浅拷贝

    2024-02-04 15:44:02       50 阅读
  6. python实现的LDA算法

    2024-02-04 15:44:02       47 阅读
  7. 【力扣刷题练习】876. 链表的中间结点

    2024-02-04 15:44:02       44 阅读
  8. leetcode-2的幂

    2024-02-04 15:44:02       52 阅读