• 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 
  • 相关阅读:
    CQL
    gossip协议
    Cassandra删除数据的坑
    Cassandra维护数据一致性的策略
    Cassandra查询出错
    string的 insert
    数字游戏(数学推理
    deque
    暗黑字符串(递推
    最大的奇约数和
  • 原文地址:https://www.cnblogs.com/yy136/p/9609634.html
Copyright © 2020-2023  润新知