docker 数据卷 Volume

目录

数据卷的作用

1.docker 拉取tomcat8.0

2.绝对路径数据卷

3.使用别名方式数据卷

4.数据卷相关指令

5.注意点

5.1 必须在容器首次启动时候绑定

5.2 使用别名和绝对路径的方式的不同

数据卷的作用

 用来实现宿主机和容器之间的数据同步

以tomcat为例

1.docker 拉取tomcat8.0

#docker 拉取tomcat8.0

docker pull tomcat:8.0

2.绝对路径数据卷

#启动tomcat 容器 绝对路径

#创建文件夹 

mkdir /home/tomcat

#创建临时容器

docker run -d -p 8083:8080 --name tomcat8083 tomcat:8.0

#复制容器文件到宿主机

docker cp <containerId>:/usr/local/tomcat/conf /home/tomcat

docker cp <containerId>:/usr/local/tomcat/webapps /home/tomcat

#删除docker容器 tomcat8083

docker rm -f tomcat8083

#重新创建容器并且添加容器卷

docker run -d -p 8083:8080 -v /home/tomcat/webapps:/usr/local/tomcat/webapps -v /home/tomcat/conf:/usr/local/tomcat/conf --name tomcat8083 tomcat:8.0

#启动完成后本地进入

cd /home/tomcat/webapps

touch test.txt

#进入容器查看文件在对应路径下是否存在

docker exec -it <containerId> /usr/local/tomcat/webapps 

3.使用别名方式数据卷

使用别名的方式 ,别名可以存在也可以不存在,不存在docker会自动创建一个。
 

#启动容器

docker run -d -p 8083:8080 -v tomcat_webapps:/usr/local/tomcat/webapps -v tomcat_conf:/usr/local/tomcat/conf --name tomcat8083 tomcat:8.0

#打开文件夹路径 

[root@localhost /]# find / -name tomcat_webapps
/var/lib/docker/volumes/tomcat_webapps

看到数据已经全部同步过来

[root@localhost /]# cd /var/lib/docker/volumes/tomcat_webapps
[root@localhost tomcat_webapps]# ls
_data
[root@localhost tomcat_webapps]# cd _data/
[root@localhost _data]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost _data]# pwd
/var/lib/docker/volumes/tomcat_webapps/_data

#创建文件验证

[root@localhost _data]# touch text01.txt
[root@localhost _data]# ls
docs  examples  host-manager  manager  ROOT  text01.txt

#进入容器
[root@localhost _data]# docker exec -it tomcat8083 /bin/bash
root@b60788eee32f:/usr/local/tomcat# cd webapps
root@b60788eee32f:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager  text01.txt

4.数据卷相关指令

别名是docker自身维护的一个数据卷。

#可以查看docker本身维护的所有数据卷

docker volume ls

#如果要查看某个别名的路径信息

docker volume inspect

使用:docker volume inspect 别名 如下

[root@localhost _data]# docker volume inspect tomcat_conf
[
    {
        "CreatedAt": "2023-07-19T04:41:30+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/tomcat_conf/_data",
        "Name": "tomcat_conf",
        "Options": null,
        "Scope": "local"
    }
]

#创建一个数据卷

docker volume create testVolume 

#查看一个数据卷

docker volume inspect testVolume 

#删除一个数据卷

docker volume rm testVolume 

5.注意点

5.1 必须在容器首次启动时候绑定

5.2 使用别名和绝对路径的方式的不同

别名:可以保持容器的初始数据。第一次使用时候会将容器中的原始数据保留下来

绝对路径:不会保留容器中的原始数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值