docker部署服务实现文件上传到本地问题解决

本周前端提出需要一个视频上传的接口,由于以前的图片资源都是上传到mongo库存储,如果再把视频文件上传到mongo库中似乎不太合适。经过一番讨论,决定把资源文件统一上传到本地服务器。但是该服务是通过docker自动化构建,所以就引发一下的两个问题:

问题一:限制docker的启动节点(存储集群)

解决方案

简单来说就是给每一个node打标签。

docker node update --label-add tag=storage worker1

上面这句话的意思是master给worker1的docker打上了功能是nginx的标签。tag和storage是你可以自己定的键值对。然后在运行docker service create 的时候,指定–constraint参数即可

docker service create --name my_nginx --constraint 'node.labels.tag == storage' nginx

这样nginx的容器就会在worker1上启动,而不会在其他node上启动了。

问题二:挂载物理机目录

解决方案

挂载有两种方式:(1)使用-v (2)使用mount

但是他们有一定的区别

使用-v /tmp/a:/var/a 时。如果宿主机上没有这个文件/tmp/a,也会自动创建,但是如果使用mount时,宿主机中没有这个文件会报错找不到这个文件,并创建失败。

所以针对项目中的需求,mount是我想要的解决方式。

 --mount type=bind,source="$(pwd)"/target,target=/app 

 

转载于:https://www.cnblogs.com/yy136/p/9609634.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值