当前位置: 首页 > news >正文

网站 关键词库上海建设网站哪家好

网站 关键词库,上海建设网站哪家好,炫酷特效网站,mvc做的网站如何发布访问文章目录 一、Docker的数据管理1、概述2、主要的技术#xff08;三种数据挂载方式#xff09;2.1、数据卷#xff08;Volumes#xff09;2.2、绑定挂载#xff08;Bind mounts#xff09;2.3、tmpfs挂载#xff08;Tmpfs mounts#xff09;2.4、之间的关系#xff08;… 文章目录 一、Docker的数据管理1、概述2、主要的技术三种数据挂载方式2.1、数据卷Volumes2.2、绑定挂载Bind mounts2.3、tmpfs挂载Tmpfs mounts2.4、之间的关系数据在Docker主机上的存储位置 二、数据卷示例1、创建一个命名的数据卷2、修改数据卷内文件内容3、启动两个容器并验证数据共享4、宿主机与容器间的实时同步4.1、进入容器内部修改数据测试同步4.2、宿主机修改数据测试同步 5、删除容器验证数据持久性6、只读挂载 三、数据卷案例5.6版本MySQL数据迁移到MySQL5.7版本1、创建一个命名的数据卷2、Docker安装MySQL5.6版本3、进入容器创建数据4、删除mysql-5.6容器5、Docker安装MySQL5.7版本6、进入容器进行验证 四、数据卷容器1、概述2、创建数据卷3、查看所有的数据卷4、修改数据卷内文件内容5、启动一个挂载数据卷的容器6、启动两个客户端容器7、访问测试8、停止了卷容器创建新容器也可以引用他9、删除卷容器后无法依据卷容器创建新容器 一、Docker的数据管理 1、概述 Docker的数据管理是指在Docker容器中对数据进行存储、共享、备份和持久化的方法和技术。它允许用户在保持容器轻量级的同时确保容器产生的数据能够安全、高效地存储和管理。 2、主要的技术三种数据挂载方式 2.1、数据卷Volumes 数据卷是Docker管理的、独立于容器的存储区域提供了数据持久化和容器间共享的能力。数据卷存储在Docker主机上的特定目录默认是 /var/lib/docker/volumes/Linux系统并且可以在容器间共享而不依赖于任何单一容器的生命周期。即使容器被删除数据依然存在。 2.2、绑定挂载Bind mounts 绑定挂载是将宿主机上的文件系统路径直接挂载到容器内的过程。这种方式允许直接利用宿主机的文件系统资源但可能带来数据管理上的复杂性和安全性考量。绑定挂载的存储位置和数据格式完全由宿主机控制不受到Docker的直接管理。 2.3、tmpfs挂载Tmpfs mounts Tmpfs挂载是将数据存储在宿主机的内存中而不是磁盘上适用于临时文件或对速度有高要求的场景。这种类型的存储不会持久化容器停止或宿主机重启后数据将会丢失。适合存储敏感信息或缓存数据因其不会写入磁盘可以增加安全性。 2.4、之间的关系数据在Docker主机上的存储位置 这篇我们主要学习数据卷 二、数据卷示例 1、创建一个命名的数据卷 [rootlocalhost ~]# docker volume create web_data web_data2、修改数据卷内文件内容 [rootlocalhost ~]# docker volume inspect web_data [{CreatedAt: 2024-05-29T19:04:3608:00,Driver: local,Labels: null,Mountpoint: /var/lib/docker/volumes/web_data/_data,Name: web_data,Options: null,Scope: local} ] #这里的/var/lib/docker/volumes/web_data/_data就是数据卷在宿主机上的路径。[rootlocalhost ~]# echo nginx test /var/lib/docker/volumes/web_data/_data/index.html #直接在宿主机上通过找到的路径修改数据卷内的文件。3、启动两个容器并验证数据共享 [rootlocalhost ~]# docker run -itd --name nginx_v1 -v web_data:/usr/share/nginx/html -p 8085:80 nginx 73a584b4345b6bb05f99e153f5a92e1aaaf14b183ffb2173cd4238e1bd4edf60 [rootlocalhost ~]# docker run -itd --name nginx_v2 -v web_data:/usr/share/nginx/html -p 8086:80 nginx 5ce93af52b15d0f905fb749c483138f7e3247995186b9696709b3bd166bc10f6 [rootlocalhost ~]# curl -s 192.168.112.60:8085 nginx test [rootlocalhost ~]# curl -s 192.168.112.60:8086 nginx test挂载在了相同宿主机目录到容器内的/usr/share/nginx/html路径同时映射了不同的端口以区分访问。 可以看到数据内容是可以共享的都显示nginx test 4、宿主机与容器间的实时同步 4.1、进入容器内部修改数据测试同步 [rootlocalhost ~]# docker exec -it nginx_v1 /bin/bash root73a584b4345b:/# echo nginx test write ! /usr/share/nginx/html/index.html root73a584b4345b:/# exit exit [rootlocalhost ~]# curl -s 192.168.112.60:8085 nginx test write ! [rootlocalhost ~]# curl -s 192.168.112.60:8086 nginx test write !4.2、宿主机修改数据测试同步 [rootlocalhost ~]# echo nginx test write twice /var/lib/docker/volumes/web_data/_data/index.html [rootlocalhost ~]# curl -s 192.168.112.60:8085 nginx test write twice [rootlocalhost ~]# curl -s 192.168.112.60:8086 nginx test write twice5、删除容器验证数据持久性 [rootlocalhost ~]# docker rm -fv docker ps -qa 5ce93af52b15 73a584b4345b #这是删除所有容器的命令针对删除nginx_v1以及nginx_v2的命令如下 docker rm -fv nginx_v1 docker rm -fv nginx_v2[rootlocalhost ~]# cat /var/lib/docker/volumes/web_data/_data/index.html nginx test write twice可以看到即使所有使用该数据卷的容器都被删除数据卷本身及其数据依然会被保留 直到显式执行 docker volume rm 命令来删除它。 6、只读挂载 [rootlocalhost ~]# docker run -itd --name nginx_v3 -v web_data:/usr/share/nginx/html/:ro -p 8087:80 nginx 64737fc7e6fc60e6d4f6203735afb464bc3cdbacbacb92372e3112d35a3d1be8 [rootlocalhost ~]# docker run -itd --name nginx_v4 -v web_data:/usr/share/nginx/html/:ro -p 8088:80 nginx fbb5c0dc949b2fca4d9e39b392d535233dfa57b48f348c028d1518cebd7a3560 [rootlocalhost ~]# docker exec -it nginx_v3 /bin/bash root64737fc7e6fc:/# echo test readonly /usr/share/nginx/html/index.html bash: /usr/share/nginx/html/index.html: Read-only file system通过只读方式挂载以后在容器内部是不允许修改数据的 三、数据卷案例5.6版本MySQL数据迁移到MySQL5.7版本 1、创建一个命名的数据卷 [rootlocalhost ~]# docker volume create mysql_data mysql_data2、Docker安装MySQL5.6版本 [rootlocalhost ~]# docker run -d --name mysql-5.6 -p 3306:6606 -v mysql_data:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD123 mysql:5.6 [rootlocalhost ~]# cd /var/lib/docker/volumes/mysql_data/_data/ [rootlocalhost _data]# ls auto.cnf ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema-d: 表示后台运行容器detached模式即容器会在后台运行而不是与当前终端交互。--name mysql-5.6: 为容器指定一个名字这里是mysql-5.6便于后续管理和识别。-p 3306:3306: 端口映射配置将宿主机的3306端口映射到容器内的3306端口。-v mysql_data:/var/lib/mysql/: 数据卷挂载mysql_data是数据卷的名称如果没有事先创建Docker会自动创建一个匿名数据卷这个数据卷挂载到容器内的/var/lib/mysql/目录。-e MYSQL_ROOT_PASSWORD123: 设置环境变量这里设置了MySQL的root用户的密码为123。mysql:5.6: 这是Docker镜像的名称和标签表示使用mysql镜像的5.6版本来创建容器。 3、进入容器创建数据 [rootlocalhost _data]# docker exec -it mysql-5.6 /bin/bash root7ef4b48ecbcf:/# cd /var/lib/mysql root7ef4b48ecbcf:/var/lib/mysql# ls auto.cnf ib_logfile0 ib_logfile1 ibdata1 mysql performance_schema root7ef4b48ecbcf:/var/lib/mysql# mysql -uroot -p123mysql create database test; mysql use test; mysql create table stu (id int(5),name varchar(20),age int(5)); mysql insert into stu values(1,zhangsan,18);创建了个stu表插入了一条数据 4、删除mysql-5.6容器 docker rm -f mysql-5.65、Docker安装MySQL5.7版本 [rootlocalhost ~]# docker run -d --privilegedtrue --name mysql-5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD123 -v mysql_data:/var/lib/mysql/ mysql:5.76、进入容器进行验证 [rootlocalhost ~]# docker exec -it mysql-5.7 /bin/bash bash-4.2# mysql -uroot -p123mysql show databases; -------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | test | -------------------- 4 rows in set (0.00 sec)mysql use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -ADatabase changed mysql show tables; ---------------- | Tables_in_test | ---------------- | stu | ---------------- 1 row in set (0.00 sec)mysql select * from stu; ---------------------- | id | name | age | ---------------------- | 1 | zhangsan | 18 | ---------------------- 1 row in set (0.00 sec)可以看到之前mysql-5.6创建的数据还在 四、数据卷容器 1、概述 数据卷容器是Docker中管理数据卷的一种高级用法它允许用户创建一个专门用于数据存储的容器并将其数据卷挂载到其他容器中。 这种方式使得数据可以跨容器共享同时保持数据的持久性和可移植性。 数据卷容器主要用于数据的持久化存储和跨容器共享它本身并不运行任何实际的应用服务而是作为一个存储媒介存在。 2、创建数据卷 [rootlocalhost ~]# docker volume create my_volume my_volume3、查看所有的数据卷 [rootlocalhost ~]# docker volume ls DRIVER VOLUME NAME local my_volume local mysql_data local web_data4、修改数据卷内文件内容 [rootlocalhost ~]# echo my_volume_test /var/lib/docker/volumes/my_volume/_data/index.html5、启动一个挂载数据卷的容器 [rootlocalhost ~]# docker run -itd --name volume_v1 -v my_volume:/usr/share/nginx/html:ro -p 8089:80 nginx c9cff2a314fef930aa570680068e40c280a53d0921613b60d926c9ffd185200b6、启动两个客户端容器 [rootlocalhost ~]# docker run -itd --name web1 -p 8090:80 --volumes-from volume_v1 nginx c036bb587750c2232e7e1efe11b4b421e2c0be275a0aec6da953e670ba6d47b0 [rootlocalhost ~]# docker run -itd --name web2 -p 8091:80 --volumes-from volume_v1 nginx 9bff8f66a04d701b46f6e94d39664758e22fa4ab6140dd48a1ce0212bb59b9417、访问测试 [rootlocalhost ~]# curl -s 192.168.112.60:8089 my_volume_test [rootlocalhost ~]# curl -s 192.168.112.60:8090 my_volume_test [rootlocalhost ~]# curl -s 192.168.112.60:8091 my_volume_test8、停止了卷容器创建新容器也可以引用他 [rootlocalhost ~]# docker stop volume_v1 volume_v1 [rootlocalhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9bff8f66a04d nginx /docker-entrypoint.… 5 minutes ago Up 5 minutes 0.0.0.0:8091-80/tcp, :::8091-80/tcp web2 c036bb587750 nginx /docker-entrypoint.… 5 minutes ago Up 5 minutes 0.0.0.0:8090-80/tcp, :::8090-80/tcp web1 c9cff2a314fe nginx /docker-entrypoint.… 8 minutes ago Exited (0) 4 seconds ago volume_v1 #停止卷容器volume_v1[rootlocalhost ~]# docker run -itd --name web3 -p 8092:80 --volumes-from volume_v1 nginx 7e8a3e82e6aacf32e5194d4a47d827f718685e0811ffc478b09a6e1748fd997f [rootlocalhost ~]# curl -s 192.168.112.60:8092 my_volume_test #可以获取my_volume数据卷的内容9、删除卷容器后无法依据卷容器创建新容器 [rootlocalhost ~]# docker rm -f volume_v1 volume_v1 [rootlocalhost ~]# docker run -itd --name web4 -p 8093:80 --volumes-from volume_v1 nginx docker: Error response from daemon: No such container: volume_v1. See docker run --help.[rootlocalhost ~]# curl 192.168.112.60:8089 curl: (7) Failed connect to 192.168.112.60:8089; 拒绝连接 [rootlocalhost ~]# curl 192.168.112.60:8090 my_volume_test [rootlocalhost ~]# curl 192.168.112.60:8091 my_volume_test [rootlocalhost ~]# curl 192.168.112.60:8092 my_volume_test #之前创建好的容器不会有任何影响
http://www.w-s-a.com/news/915558/

相关文章:

  • 云主机多个网站如何优化网站图片
  • 松江移动网站建设成都app开发制作公司
  • 锦州做网站的公司百度seo搜索营销新视角
  • 做画册找什么网站海南建设工程股份有限公司网站
  • 网站机房建设有助于网站备案
  • 北辰苏州网站建设抖音代运营投诉平台
  • 安徽住房与城乡建设部网站如何新建站点
  • 企业网站开发的感想网站开发公司所需投入资源
  • 如何拿网站后台账号wordpress 电影下载站源码
  • 公司网站建设方案书安卓应用市场免费下载安装
  • phpmysql网站设计建设好一个网站需要
  • 自己做的网站能被别人看到吗idea怎么做网页
  • 燕莎网站建设互联网排名前十的公司2021
  • 微软云怎么做网站微商城和小程序区别
  • 哈尔滨建站的系统网站到首页排名
  • 运动网站开发的需求分析南通市住房和城乡建设局网站
  • 佘山做网站谷歌云做网站
  • 免费发布信息网站大全666做p2p网站费用
  • 北京 网站建设咨询顾问公司网络公司有几家
  • 设计类网站如何用ps做网站首页
  • 品牌网站建设的关键事项设计网有哪些
  • 网站没收录徐州建设工程审图中心网站
  • 网站建设记账做什么科目erp系统有哪些软件
  • 泰拳图片做网站用哪里有做空包网站的
  • 查外链网站重庆做网站微信的公司
  • 有没有外包活的网站如何做网站快捷键的元素
  • 公司网站赏析网站制作2019趋势
  • 企业进行网站建设的方式有( )推广引流违法吗
  • 按营销型网站要求重做网站 费用点金网站建设
  • 深圳做网站互联网服务