Docker数据卷挂载

一、容器与数据耦合的问题:

数据卷是虚拟的,不真实存在的,它指向文件中的文件夹 ,属主机文件系统通过数据卷和容器数据进行联系,你改变我也改变。

解决办法:

  • 对宿主机文件系统内的文件进行修改,会立刻反应到容器内的数据中,而且不需要在容器中修改数据,可以在宿主机上通过高级编辑工具任意的修改 ,解决了不便于修改的问题。
  • 可以让新容器挂载和旧容器一样的数据卷,这样原来对config目录做的修改,我们这个新容器也可以看到,解决了数据共享问题。
  • 数据共享问题解决,维护升级困难也自然迎刃而解了。

二、数据卷基本语法:

命令:

  • docker volume create html #创建名为html的数据卷
  • docker volume ls #查询已有的数据卷

命令:

  • docker volume ls #查询数据卷详情
  • docker volume prune #删除未使用的数据卷
  • docker volume rm 数据卷名 #删除指定的数据卷

数据卷的作用:将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全。

命令:docker run --name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx

命令的作用是:

  1. 从 Nginx 官方镜像创建一个新的 Docker 容器。
  2. 将容器命名为 "mn"。
  3. 将宿主机的80端口与容器内的80端口进行映射,使得外部可以通过宿主机的80端口访问到容器内的Nginx服务。
  4. 将宿主机的 "html" 目录挂载到容器内的 "/usr/share/nginx/html" 目录,使得Nginx可以使用宿主机的静态网页文件。
  5. 容器在后台以守护进程模式运行,提供持续的服务

下一步即直接:cd /var/lib/docker/volumes/html/_data #跳转的挂载点

用语句:ls #查看当前目录的文件

效果如下:

如果index.html文件不为可读可写则无法对其内容进行修改,需要利用语句:

chmod 777 /var/lib/docker/volumes/html/_data/index.html #修改index.html文件权限

chmod 777 /var/lib/docker/volumes/html/_data #修改_data文件权限

chmod 777 /var/lib/docker/volumes/html ##修改html文件权限,如此一种修改到docker文件。

通过远程控制服务器的软件FinalShell或XShell的Xftp7打开html文件,即可对该文件进行编辑。

三、数据卷挂载MYSQL:

3.1、准备工作:

3.2、创建mysql容器:

docker run \

> --name mysql \

> -e MYSQL_ROOT_PASSWORD=123 \

> -p 3306:3306 \

> -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \

> -v /tem/mysql/data:/var/lib/mysql \

> -d \

> mysql:5.7.25

3.3、远程连接这个数据库。

相关推荐
IDC02_FEIYA11 分钟前
Discuz论坛管理员怎么重置修改用户密码?
运维·服务器
九河云36 分钟前
华为云ECS与Flexus云服务器X实例:差异解析与选型指南
大数据·运维·服务器·网络·人工智能·华为云
kaoa00041 分钟前
Linux入门攻坚——53、drbd - Distribute Replicated Block Device,分布式复制块设备-2
linux·运维·服务器
007tg43 分钟前
Telegram SCRM 系统构建指南:自动化营销与客户管理实战
大数据·运维·自动化
King's King44 分钟前
自动化化WMS和WCS投标模板
运维·自动化
ajax_beijing1 小时前
华为云ELB
运维·服务器·华为云
RisunJan1 小时前
Linux命令-e2label命令(设置第二扩展文件系统的卷标)
linux·运维·服务器
小苏兮1 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
倦王1 小时前
Linux一些基本命令--黑马学习
linux·运维·服务器
小武~2 小时前
嵌入式Linux系统性能优化:深入剖析I/O性能瓶颈
linux·运维·性能优化