笔记:Docker 从入门到实践-2

Docker数据管理 

docker容器中产生的数据在容器关闭后会被清除,下次容器启动时会恢复到镜像初始状态。如何保存容器中创建的数据? docker 提供了两种方法可以把在容器运行中产生的数据保存到宿主机的文件系统中。

第一种:数据卷。

当启动一个容器时可以mount 数据卷(一个宿主机的目录或者文件)到容器中,容器中产生的数据可以保存在数据卷中。

挂载一个宿主机目录作为数据卷:

docker run -d -P --name web -v /src/webapp:/opt/webapp:ro  training/webapp python app.

-v 参数用来加载数据卷,上面的命令中把宿主机的目录/src/webapp挂载到创建的容器的/opt/webapp目录下。

:ro 表示挂载的数据卷是read only的,默认的权限是wr读写。

 

挂载一个宿主机文件作为数据卷:

docker run -rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash

文件.bash_history 如果被某些工具修改了inode,docker会报告错误。

 

volume 对象

docker volume create myvolume #创建一个名为myvolume的数据卷对象。

docker volumen ls # 列出数据卷对象

docker volume rm myvolume #删除指定的数据卷

dokcer volume inspect myvolume #查看数据卷的详细信息

docker run --name testcontainer -d -v myvolume:/usr/share #创建一个容器把数据卷myvolume挂载到容器的/usr/share目录。 

第二种:数据卷容器

创建并挂在数据卷到一个命名的容器(如上文),这个命名容器被称为数据卷容器。 其他的容器可以通过指定这个数据卷容器来实现挂载数据卷。挂载同一数据卷容器的容器共享数据卷。

docker run -d --v /dbdata --name dbdata training/postgres echo Data-only container.

其他的容器使用--volume-from 参数引用这个容器,实现对数据卷的访问。

docker run -d --volumes-from dbdata --name db1 training/postgres

docker run -d --volumes-from dbdata --name db2 training/postgres

 

容器互联

每个容器相当与一个简装linux OS,容器之间是隔离的,容器互联可以容器对另一个容器的访问。

下面先创建一个新的数据库容器。
docker run -d --name db training/postgres
 

然后创建一个新的 web 容器,并将它连接到 db 容器
docker run -d -P --name web --link db:db training/webapp python app.py
 

--link 参数的格式为 --link name:alias ,其中 name 是要链接的容器的名称, alias 是这个连接的别名。

建立容器互联以后,在发起连接的容器中会建立一系列的环境变量:以链接的别名(--link参数中指定)为前缀。

DB_NAME=/web2/db
DB_PORT=tcp://172.17.0.5:5432
DB_PORT_5000_TCP=tcp://172.17.0.5:5432
DB_PORT_5000_TCP_PROTO=tcp
DB_PORT_5000_TCP_PORT=5432
DB_PORT_5000_TCP_ADDR=172.17.0.5

发起连接的容器的 /etc/hots 文件中会添加指向被链接的容器的条目:

172.17.0.7 aed84ee21bde:localhost
. . .
172.17.0.5 db #被链接的容器ip:别名
 

可以通过Ping 命令来检查联通性。

ping db

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本火锅店点餐系统采用Java语言和Vue技术,框架采用SSM,搭配Mysql数据库,运行在Idea里,采用小程序模式。本火锅店点餐系统提供管理员、用户两种角色的服务。总的功能包括菜品的查询、菜品的购买、餐桌预定和订单管理。本系统可以帮助管理员更新菜品信息和管理订单信息,帮助用户实现在线的点餐方式,并可以实现餐桌预定。本系统采用成熟技术开发可以完成点餐管理的相关工作。 本系统的功能围绕用户、管理员两种权限设计。根据不同权限的不同需求设计出更符合用户要求的功能。本系统中管理员主要负责审核管理用户,发布分享新的菜品,审核用户的订餐信息和餐桌预定信息等,用户可以对需要的菜品进行购买、预定餐桌等。用户可以管理个人资料、查询菜品、在线点餐和预定餐桌、管理订单等,用户的个人资料是由管理员添加用户资料时产生,用户的订单内容由用户在购买菜品时产生,用户预定信息由用户在预定餐桌操作时产生。 本系统的功能设计为管理员、用户两部分。管理员为菜品管理、菜品分类管理、用户管理、订单管理等,用户的功能为查询菜品,在线点餐、预定餐桌、管理个人信息等。 管理员负责用户信息的删除和管理,用户的姓名和手机号都可以由管理员在此功能里看到。管理员可以对菜品的信息进行管理、审核。本功能可以实现菜品的定时更新和审核管理。本功能包括查询餐桌,也可以发布新的餐桌信息。管理员可以查询已预定的餐桌,并进行审核。管理员可以管理公告和系统的轮播图,可以安排活动。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。管理员可以查询用户的订单,并完成菜品的安排。 当用户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。还可以修改密码。用户可以浏览所有的菜品,可以查看详细的菜品内容,也可以进行菜品的点餐。在本功能里用户可以进行点餐。用户可以浏览没有预定出去的餐桌,选择合适的餐桌可以进行预定。用户可以管理购物车里的菜品。用户可以管理自己的订单,在订单管理界面里也可以进行查询操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值