前提:

“基于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就可以同步上传文件了。

基于“基于dockerhub的jetty镜像的ossfs镜像”部署war包,遇到的文件夹读写权限被限制的问题解决方案的更多相关文章

  1. jenkins自动部署war包到jetty

    1.把jenkins.war包复制到jetty的webapps下面 2.在jetty的webapps下面新建jenkins.xml文件 内容如下: <?xml version="1.0 ...

  2. 基于jetty镜像的ossfs镜像docker镜像构建

    阿里云ossfs:https://help.aliyun.com/document_detail/32196.html?spm=5176.product31815.6.514.yVI0xM 以上是阿里 ...

  3. 七.部署war包到Tomcat(基于Centos安装)

    1.把war包上传至tomcat的webapps目录下面 2.启动Tomcat,在Tomcat的bin目录下面,运行startup.sh 3.访问项目,如下成功打开项目

  4. 以tomcat镜像为基础部署war包后再做成镜像

    #以交互的方式启动本地的镜像tomcat:hps,并且将本地目录/mnt/iso挂在到容器中的/tmp/repositories目录,方便从本地获取一些安装文件并进行一些操作 docker run - ...

  5. 如何使用Dockerfile构建Tomcat镜像并部署war

    我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...

  6. [How to]基于本地镜像的yum镜像源搭建

    1.简介 本文介绍如何在封闭环境(无外网)下安装离线安装本地镜像与基于本地镜像的yum镜像源. 2.环境版本交代: OS:CentOS-6.7-x86_64-minimal yum: yum-3.2. ...

  7. docker 源码分析 四(基于1.8.2版本),Docker镜像的获取和存储

    前段时间一直忙些其他事情,docker源码分析的事情耽搁了,今天接着写,上一章了解了docker client 和 docker daemon(会启动一个http server)是C/S的结构,cli ...

  8. centos7无网络环境下创建基于scratch镜像的Linux镜像,并带有Java运行环境

    一.准备 将下载好的jdk以及scratch镜像放在同一文件夹下:这里放在linux:2.0 二.导入scratch镜像 #docker load -i scratch.tar 三.创建dockerf ...

  9. 【小白向】基于Docker使用Gogs,Drone以及drone-runner-docker的自动化部署

    Gogs是基于Go语言编写的可以替代gitlab的代码托管平台,它没有gitlab那么庞大且不需要占用大量资源,对小型服务器相对于比较友好,我们甚至可以使用树莓派搭建. 服务器配置: * 操作系统:C ...

随机推荐

  1. Python动态网站的抓取

    网页下载器 # coding:utf-8import requestsimport urllib2import systype = sys.getfilesystemencoding()class H ...

  2. 时间格式转换 json 转 datetime js c#

    情景描述:使用C#在后台中传递时间到ajax中,因为是一个list<model>就直接用了Json 作为载体,但是在js中获得到的时间是var time='/Date(********** ...

  3. n++ ++n

    n = 100 + m++ n = 100 +m; ++m n = 100 + ++m; ++m; n = 100 +m ;

  4. Git中如何将代码恢复到之前某个节点

    本文主要讲如何使用小乌龟软件将代码恢复到之前某个节点. 一 说明 在实际项目开发中,都是很多人一起联合开发,往往会遇到这种情况:马上要发版本了,突然发现一个致命BUG,而这个BUG是由于某个小伙伴修改 ...

  5. window 注册表上下文菜单如何配置?

    注册表结构? Keys Abbreviation Description 描述 HKEY_CLASSES_ROOT HKCR Stores file association and COM objec ...

  6. PAT 1002. A+B for Polynomials (25)

    This time, you are supposed to find A+B where A and B are two polynomials. Input Each input file con ...

  7. struts2+Oracle实现管理员查看用户提交的意见功能

    说一下需求:这个功能类似于邮件功能,当用户在站点中提交一些建议及意见后.后台将其存入到Oracle数据库中.然后管理员登录站点,会看到还没有读过以及读过的意见及建议,并能够将未读过的意见及建议标记为已 ...

  8. ThreadPoolExecutor 线程池任务队列分析 与 利特尔法则(Little's law)

    一. 演示 public class ThreadPoolTest { static class MyThread implements Runnable { private String name; ...

  9. python的分布式爬虫框架

    scrapy + celery: Scrapy原生不支持js渲染,需要单独下载[scrapy-splash](GitHub - scrapy-plugins/scrapy-splash: Scrapy ...

  10. ABAP f4帮助输入多个值

    *---------------------------------------------------------------------- * INITIALIZATION *---------- ...