docker数据卷容器

本文介绍了Docker数据卷容器的使用,包括如何创建数据卷容器并用于在多个容器间共享数据。通过示例展示了如何创建nginx容器,利用数据卷容器存储网站和配置文件,并说明了如何在容器重启时保持运行状态。此外,还详细阐述了如何利用数据卷容器进行数据备份和迁移。
摘要由CSDN通过智能技术生成

数据卷容器

如果用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器其实就是一个普通的容器,专门用它提供数据卷供其他容器挂载,使用方法如下:

  • 创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata
[root@localhost ~]# docker run -dit --name dbdata -v /data busybox
ae5b45f951b678c219902e204a2a4674d6ec0a220878df131c73cb4892ae564b
  • 然后可以在其他容器中使用–volumes-from来挂载dbdata容器中的数据卷,例如创建db1和db2两个容器,并从dbdata容器挂载数据卷:
[root@localhost ~]# docker run -it --name db1 --volumes-from dbdata busybox /bin/sh
/ # ls 
bin   dev   home  root  tmp   var
data  etc   proc  sys   usr   //含有data目录

[root@localhost ~]# docker run -it --name db2 --volumes-from dbdata busybox /bin/sh
/ # ls 
bin   dev   home  root  tmp   var
data  etc   proc  sys   usr   //含有data目录

注意:此时,容器db1和db2都挂载同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下的写入,其他容器都可以看到。

//再db2容器内创建文件test
/data # touch test
/data # ls 
test

//再db1容器内查看
/ # cd data/
/data # ls 
test

使用–volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态
如果删除了挂载的容器(包括dbdata、db1和db2),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用docker rm -v命令来指定同时删除关联的容器。

创建nginx容器,提供网站和配置文件

创建网站和配置文件防止目录

[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mkdir /config

//把网站放入目录下
[root@localhost html]# pwd 
/var/www/html
[root@localhost html]# ls 
index.html  baidu_files

//配置文件放入/config下
[root@localhost config]# pwd 
/config
[root@localhost config]# ls 
conf.d                  mime.types.default
default.d               nginx.conf
fastcgi.conf            nginx.conf.default
fastcgi.conf.default    scgi_params
fastcgi_params          scgi_params.default
fastcgi_params.default  uwsgi_par
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值