zoukankan      html  css  js  c++  java
  • 基于“基于dockerhub的jetty镜像的ossfs镜像”部署war包,遇到的文件夹读写权限被限制的问题解决方案

    前提:

    “基于dockerhub的jetty镜像的ossfs镜像” 已经搭建好了。

    部署准备:

    1、本地打包:war包--》idea工具 mvn 打包。

    2、本地sh脚本:compile_vps_deplay.sh

    #!/bin/bash
    
    
    date=`date  +"%Y%m%d%H%M"`
    
    scp  bbkjweb.war zjm@10.248.248.12:~/webrz/basic/renzheng/
    ssh  zjm@10.248.248.12 -t "
        cd  ~/webrz/basic/renzheng/
        jar -xvf bbkjweb.war 
         ./build.sh
        sudo docker images
        sudo docker ps
        sudo docker rm -f web_rz
         ./runwebrz.sh
    "
    
    cd -

    这里是直接先解压了,因为,ossfs要绑定同步的目录。而我的同步的文件夹在war包里面。

    3、vps上sh文件:~/webrz/basic/renzheng/build.sh

    #!/bin/bash
    
    sudo docker build --rm -f Dockerfile -t webrz_rz .

    4、vps上sh文件:~/webrz/basic/renzheng/./runwebrz.sh

    #!/bin/bash
    
    docker run --privileged --name web_rz -d -p 8006:8080 -p 433:8433 webrz_rz

    5、vps上Dockerfile 文件:Dockerfile

    FROM jetty_apt_ossfs:v3

    RUN mkdir -p /var/lib/jetty/webapps/root
    COPY bbkjweb /var/lib/jetty/webapps/root
    COPY ossfs_conf.sh /var/lib/jetty/webapps
    RUN mkdir -p /data/tmp
    RUN mkdir -p /data/logs

    这里要加上权限参数:--privileged。

    ossfs_conf.sh文件:

    最后文件目录如下:

    部署开始:

    本地shell 里面执行:./compile_vps_deplay.sh即可。

    最后部署成功:

    开启ossfs遇到的问题:

    1、先看看阿里配置文档:

     

    我这里把他写成了一个脚本(就是上面的ossfs_conf.sh),容器启动之后进入容器执行即可。

    在文档中可以看到,对于要同步的文件进行了所有者的修改;不然会有文件夹写权限不够的问题。导致无法使用ossfs。

    2、进入容器中:

    #docker exec -it web_rz bash
    #ls -al /var/lib/jetty/webapps/root/statics/uploadstart

    执行 ossfs_conf.sh:

    然后以jetty用户挂载要同步的目录:

    su jetty

    ossfs -o nonempty my-buket /var/lib/jetty/webapps/root/statics/uploadstart -ourl=http://oss-cn-hangzhou.aliyuncs.com
    ossfs -o nonempty  my-buket  /var/lib/jetty/webapps/root/ueditor/jsp/upload -ourl=http://oss-cn-hangzhou.aliyuncs.com

    我这里挂载了两个要同步的目录。

     至此,ossfs就可以同步上传文件了。

  • 相关阅读:
    TOMCAT源码分析(转)
    CSS从零开始(1)--CSS基础语法
    java生成验证码
    [转]java中作用域public private protected 以及不写的区别
    Java Socket NIO详解(转)
    mysql数据库单表只有一个主键自增id字段,ibatis实现id自增
    手机验证码执行流程
    javaweb之Filter过滤器详解
    HttpSessionListener的用法
    SpringContextHolder 静态持有SpringContext的引用
  • 原文地址:https://www.cnblogs.com/HendSame-JMZ/p/6089190.html
Copyright © 2011-2022 走看看