• docker tomcat挂接webapps目录 权限等问题


    使用

    docker run -d -p 9091:8080 -v /home/XXXX/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --name managertomcat XXXX/mytomcat
    挂载路径后,进入容器

    root@08066d03a043:/usr/local/tomcat# cd webapps/
    root@08066d03a043:/usr/local/tomcat/webapps# ls
    ls: cannot open directory '.': Permission denied
    root@08066d03a043:/usr/local/tomcat/webapps# 
    查看webapps提示没有权限。

    原因:

    centos7中安全模块selinux把权限禁掉了。

    有三种方法解决:

        1.在运行时加 --privileged=true

    [xuhaixing@localhost tomcat]$ docker run -d -p 9091:8080 -v /home/XXXX/docker/tomcat/webapps/:/usr/local/tomcat/webapps/ --privileged=true --name managertomcat XXXX/mytomcat
    c512137b74f3366da73ff80fc1fd232cc76c95b52a4bab01f1f5d89d28185b28
    [xuhaixing@localhost tomcat]$ ls
     

    2.临时关闭selinux然后再打开

    [root@localhost tomcat]# setenforce 0
    [root@localhost tomcat]# setenforce 1
     

    3.添加linux规则,把要挂载的目录添加到selinux白名单

    # 更改安全性文本的格式如下
    chcon [-R] [-t type] [-u user] [-r role] 文件或者目录

    选顷不参数: 
    -R  :该目录下的所有目录也同时修改; 
    -t  :后面接安全性本文的类型字段,例如 httpd_sys_content_t ; 
    -u  :后面接身份识别,例如 system_u; 
    -r  :后面街觇色,例如 system_r
    执行:

    chcon -Rt svirt_sandbox_file_t /home/XXXX/docker/tomcat/webapps/
     

  • 相关阅读:
    链表相交
    环路检测
    lambada表达式对集合的过滤和相互转换
    lambda表达式对集合的遍历
    centos7常用命令
    小程序文件
    扫码登录
    位操作
    使用json-lib转换对象为字符串时的特殊处理
    javac 编译异常总结
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317367.html
Copyright © 2020-2023  润新知