【Docker】数据管理之数据卷的挂载

一、什么是数据卷

为了很好的实现数据保存和数据共享,Docker提出了Volume这个概念,简单的说就是绕过默认的联合 文件系统,而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。数据卷提供了一些有用的特性:

  1. 数据卷可以在容器之间共享和重用。
  2. 对数据卷的修改会立马生效。
  3. 对数据卷的更新,不会影响镜像。
  4. 数据卷默认会一直存在,即使容器被删除

使用数据卷时,最好通过创建和挂载数据卷来启动容器,而不是在创建或启动容器后再进行挂载,因为这样做比较麻烦,需要修改很多配置文件。

二、快速上手

        数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动 删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷,无主的数据卷 可能会占据很多空间,所以要及时删除.

1、基本操作

Ⅰ、创建数据卷

docker volume create 数据卷名

Ⅱ、查看所有数据卷

docker volume ls

Ⅲ、查看数据卷信息

docker volume inspect 数据卷名

Ⅳ、删除一个volume

docker volume rm 数据卷名

Ⅴ、查看数据卷的具体信息

docker inspect 数据卷名

2、挂载

在用 docker run 命令的时候,使用 --mount 标记来将 数据卷 挂载到容器里。在一次 docker run 中可以挂载多个数据卷 。

Ⅰ、挂载数据卷

docker run -itd \
--name 容器名字(需要你的容器没有该名字) \
--mount source=数据卷名称(你当前有的),target=容器中的对应目录 \
需要挂载镜像名称

-itd:在后台挂机,所以我们使用 -it :创建并使用

①、文件共享

我们新建两个窗口,并且都创建一个容器挂载在同一个数据卷里

在一个容器里面创建一个文件,我们在第二个容器也能看到共享

如果我们删除容器我们的数据还是在的

三、数据卷的应用

1、创建数据卷

docker volume create 数据卷名

2、tomcat镜像

 Ⅰ、下载需要挂载的 tomcat 的镜像

首先我们下载好tomcat的镜像,并且开放好端口8080

docker pull tomcat:8.5.20

Ⅱ、设置端口

如果你的端口设置的时候出现 FirewallD is not running 说明你的防火墙没有打开,我们需要打开防火墙 

systemctl start firewalld

然后设置端口 8080

firewall-cmd --zone=public --add-port=8080/tcp --permanent

更新端口

firewall-cmd --reload

查看已开放的端口:

firewall-cmd --zone=public --list-ports

Ⅲ、 安装并创建

docker run -itd  --name tomcat容器的名称(可以自己修改)-p 8080(主机端口:可修改):8080(虚拟机端口:不建议修改) tomcat:8.5.20(如果命令中没有 :8.5.20,后面只带 tomcat,就会默认为最新的版本)

docker run -itd  --name t1  -p 8080:8080   tomcat:8.5.20

【注意】

如果出现了以下的情况

1、重启Docker服务

service docker restart #重启方法1
systemctl restart docker #重启方法2

2、清除旧的iptables规则:有时候,旧的iptables规则可能会干扰新的规则。你可以尝试清除旧的iptables规则,然后重新运行你的Docker命令。

iptables -F

之后就没有问题了

在虚拟机上或者你的本机电脑上访问都没有问题了

IP地址:8080

3、

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 21:20:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 21:20:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 21:20:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 21:20:08       20 阅读

热门阅读

  1. Unity实现 球形雾效散射光照

    2024-01-12 21:20:08       39 阅读
  2. Compose中使用paging3进行列表分页加载Room中的数据

    2024-01-12 21:20:08       40 阅读
  3. 数据库-列的类型-字符串char类型

    2024-01-12 21:20:08       38 阅读
  4. redis前缀匹配数据迁移数据

    2024-01-12 21:20:08       38 阅读
  5. redis 面试题(二)

    2024-01-12 21:20:08       27 阅读
  6. DAC模块(MCP44725芯片)

    2024-01-12 21:20:08       42 阅读
  7. linux权限

    2024-01-12 21:20:08       33 阅读
  8. golang文件内容覆盖问题

    2024-01-12 21:20:08       36 阅读
  9. 安卓fragment监听文本内容取值

    2024-01-12 21:20:08       40 阅读
  10. C++基础之关键字——virtual详解

    2024-01-12 21:20:08       35 阅读
  11. 区块链知识学习(一)

    2024-01-12 21:20:08       34 阅读