docker容器的数据管理操作
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,数据管理在真实环境中docker需要对数据进行持久化,或者多个容器之间进行数据共享,涉及到容器的数据管理操作。数据卷:容器内数据映射到本地主机环境数据卷容器:使用特定容器维护数据卷数据卷数据卷(Dat
千家信息网最后更新 2025年02月04日docker容器的数据管理操作
数据管理
在真实环境中docker需要对数据进行持久化,或者多个容器之间进行数据共享,涉及到容器的数据管理操作。
- 数据卷:容器内数据映射到本地主机环境
- 数据卷容器:使用特定容器维护数据卷
数据卷
数据卷(Data Volumes)是一个可供容器使用的特殊目录,通过主机操作系统目录直接映射进容器,类似mount
特性: - 可以在容器间共享,重用
- 对数据卷内数据的修改会立即生效,不论是在操作系统目录下还是容器内
- 对数据卷的更新不会影响容器
- 卷会一直存在,知道没有容器使用,可以卸载它
1、创建数据卷
docker提供了volume命令来管理数据卷,除了create(创建),还支持inspect(查看详细信息),ls(列出已有数据卷),prune(清理无用数据卷),rm(删除数据卷)等
[root@docker01 ~]# docker volume create -d local testtest[root@docker01 ~]# ll /var/lib/docker/volumes/total 24drwxr-xr-x. 3 root root 19 Mar 9 23:21 1d300cc7b91123b4180bf8edb1f3ce130a8f317dba3332f21c55be23f27d0f30-rw-------. 1 root root 32768 Mar 10 15:10 metadata.dbdrwxr-xr-x. 3 root root 19 Mar 10 15:10 test[root@docker01 ~]# docker volume lsDRIVER VOLUME NAMElocal 1d300cc7b91123b4180bf8edb1f3ce130a8f317dba3332f21c55be23f27d0f30local test
2、绑定数据卷
可以在创建容器时将本地主机的任意路径挂载到容器内作为数据卷,这种形式创建的数据卷成为绑定数据卷,docker [container] run --mount选择使用数据卷。
-mount支持三种类型的数据卷:
volume:普通数据卷,映射到主机/var/lib/docker/volumes路径下
bind:绑定数据卷,映射到主机指定路径下
tmpfs:临时数据卷,只存在于内存中
使用training/weapp镜像创建一个web容器,并创建一个数据卷挂载到容器的/opt/webapp目录下。
[root@docker01 ~]# docker run -d -P --name web --mount type=bind,source=/webapp,destination=/opt/webapp:ro training/webapp python app.py#加个ro或rw表示目录权限[root@docker01 ~]# docker run -d -P --name web --mount type=bind,source=/webapp,destination=/opt/webapp training/webapp python app.pyUnable to find image 'training/webapp:latest' locallylatest: Pulling from training/webappImage docker.io/training/webapp:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/e190868d63f8: Pull complete 909cd34c6fd7: Pull complete 0b9bfabab7c1: Pull complete a3ed95caeb02: Pull complete 10bbbc0fc0ff: Pull complete fca59b508e9f: Pull complete e7ae2541b15b: Pull complete 9dd97ef58ce9: Pull complete a4c1b0cb7af7: Pull complete Digest: sha256:06e9c1983bd6d5db5fba376ccd63bfa529e8d02f23d5079b8f74a616308fb11dStatus: Downloaded newer image for training/webapp:latest89b39b0e540a3fc4730f5d72c2606dc162d4e6fa3f74eaf3c9b441d4e664576b
数据卷容器
用户需要在多个容器之间共享一些持续更新的数据,可以使用数据卷容器,数据卷容器也是一个容器,但它是专门提供数据卷给其他容器挂载
创建一个数据容器卷dbdata,并在其中创建一个数据卷挂载到/dbdate
[root@docker01 ~]# docker run -it -v /dbdate --name dbdate ubuntu:18.04 root@f046a96ec64d:/# lsbin boot dbdate dev etc home lib lib64 media mnt opt proc root run
其他容器使用--volumes-from来挂载dbdate容器中的数据卷
[root@docker01 webapp]# docker run -it --volumes-from dbdate --name db1 ubunturoot@fafd91f30ad1:/# lsbin boot dbdate dev etc home lib lib64 media mnt opt proc root run
测试,互相可以看到创建的文件
root@f046a96ec64d:~# cd /dbdate/root@f046a96ec64d:/dbdate# touch aaroot@f046a96ec64d:/dbdate# lsaa
root@fafd91f30ad1:/# cd dbdate/root@fafd91f30ad1:/dbdate# lsaa
如果删除了dbdata和db1数据卷不会被自动删除,如果要删除使用docker rm -v来删除
数据
容器
主机
目录
管理
路径
数据管理
操作系统
之间
多个
环境
系统
支持
更新
普通
特殊
信息
内存
命令
形式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库系统概括练习题
显示一个数据库下所有的表名
河北net软件开发报价
网路安全市场规模网络安全
可以搭建服务器的手游
广州智联网络技术公司
web和服务器传数据库
后台可以放服务器吗
微信服务器会保存视频吗
兰州推理服务器批发
价签打印软件配数据库
数据库删除数据回滚
数据库输入不正确怎么办
数据库表名符号怎么输入
软件开发的半成品指的是
网络安全意识教育开场语
crm系统数据库
数据库链接网页
网络安全巡检手册
网络技术方向包括的课程
医院网络安全检查记录内容
gpu服务器配置
河海大学网络安全研究生
流媒体服务器管理系统
阿左旗网络安全应急指挥中心
数据库的安全与维护实验心得
互联网金融科技园
有关网络技术的电影
网络安全周教育工作人员发言稿
3g网络技术就业前景