6 - Docker 数据卷

Docker数据卷

  • 定义

  1. 将宿主机的一个目录 映射到容器内部的一个目录
  2. 本质是一个共享文件夹,即在linux操作系统中做的操作会同步到对应的容器中
  • 数据卷的操作

  1. 创建数据卷 docker volume create 数据卷的命名
  2. 查看数据卷的详细信息 docker volume inspect 数据卷的命名
  3. 数据卷的默认存放路径 /var/lib/docker/volumes/v-tomcat/_data
  4. 查看全部数据卷 docker volume ls
  5. 删除数据卷 docker volume rm 数据卷的名称
  • 数据卷的使用

第1种方式:

首先创建一个数据卷(数据卷创建在了默认的路径下),然后用数据卷的名称映射容器内部的路径(当映射数据卷时,如果数据卷不存在,那么docker会自动创建数据卷)

docker run -d -p 8081:8080 --name xs-tomcat-02 -v v-tomcat:/usr/local/tomcat/webapps 镜像名称或者镜像ID
解释:

-d : 后台运行

-p :端口号

8081:指的是linux服务器自己的端口号,因为8080已经被分配给一个容器了,所以此处分配8081

8080:容器的端口号是固定的,每个容器tomcat的端口号都是8080

--name: 给容器起个名称

-v:指定它的数据卷

v-tomcat:linux服务器的目录,即数据卷的目录,一般为默认的目录/var/lib/docker/volumes/v-tomcat/_data,将项目war包上传到此目录,即相当于将项目war包上传到了容器对应的目录

/usr/local/tomcat/webapps:指定映射容器的哪个目录

镜像名称或者镜像ID:根据该镜像来创建一个目录

 

部署之后,在本机访问web网站的时候,URL地址为: Linux服务器IP:8081/war包名称

比如:

xs-tomcat-02对应的是新的tomcat容器,端口是8081

xs-tomcat对应的是旧容器,端口是8080

只有一个mysql容器

即一个mysql容器对应了2个tomcat容器

当这3个容器都起来的时候,8080和8081都可以访问该web系统,只不过8080对应的是旧系统,8081对应的是新系统,这样,定位问题的话很方便


第2种方式:直接指定路径来创建数据卷,也会自动创建数据卷

docker run -d -p 8082:8080 --name xs-tomcat-03 -v /opt/volumes/v-tomcat03:/usr/local/tomcat/webapps 镜像名称或者镜像ID

/opt/volumes/v-tomcat03:指定数据卷目录为此,不用默认的数据卷目录

 

posted @ 2022-08-27 21:31  xiaoyanhahaha  阅读(27)  评论(0编辑  收藏  举报