加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.com/)- 科技、建站、内容创作、云计算、网络安全!
当前位置: 首页 > 综合聚焦 > Linux > 正文

linux – 如何在Elastic Beanstalk上为特定容器设置文件夹权限

发布时间:2020-12-15 16:07:53 所属栏目:Linux 来源:互联网
导读:我在Elastic Beanstalk上设置Web文件夹的权限时遇到了麻烦.我在一个实例中使用自定义docker镜像运行多个容器:apache-php, mysql,memcached等.对于容器“apache-php”,我将我的yii2应用程序的文件夹映射到/ var / www / html /. 当我手动创建一个包并通过Elas

我在Elastic Beanstalk上设置Web文件夹的权限时遇到了麻烦.我在一个实例中使用自定义docker镜像运行多个容器:apache-php,mysql,memcached等.对于容器“apache-php”,我将我的yii2应用程序的文件夹映射到/ var / www / html /.

当我手动创建一个包并通过Elastic Beanstalk控制台上传/部署时,我确实拥有该文件夹的正确权限,一切正常.

现在,当我使用“eb deploy”部署应用程序时,它会丢弃所有权限,并且我收到服务器错误并且“Web进程无法写入该目录:/ var / www / html / backend / web / assets”在日志中.

我可以通过ssh连接并手动设置必要的权限,但确定这不方便,因为每次重新部署应用程序时都需要这样做.

那么,我的问题是在Elastic Beanstalk上为特定容器中的特定文件夹自动设置权限的最佳方法是什么?

也许,我可以使用.ebextensions,但我没有找到如何为特定容器运行“container_commands”.

解决方法

AWS EB Deployment在/ var / app / ondeck中启动您的应用程序

>在部署弹性beanstalk时,首先将您的应用解压缩到/ var / app / ondeck /

>最有可能的是,您部署的本地文件夹没有您想要的权限.

>如果您需要在部署期间对您的应用程序或shell进行调整,.ebextensions / * .config是正确的选择.

容器命令应该运行到该路径

但请记住,除非您使用某种方法测试预配置,否则无论是否需要,这些命令都会在您部署时运行.

container_commands:
  08user_config:
    test: test ! -f  /opt/elasticbeanstalk/.preconfig-complete
    command: |
      echo "jail-me" > /home/ec2-user/.userfile
  09writable_dirs:
    command: |
       chmod -R 770 /var/app/ondeck/backend/web/assets
       chmod -R 770 /var/app/ondeck/[path]
  99complete:
    command: |
      touch /opt/elasticbeanstalk/.preconfig-complete

files:
  "/etc/profile.d/myalias.sh":
    mode: "000644"
    owner: root
    group: root
    content: |
      alias webroot='cd /var/www/html/backend/web; ls -al --color;'
      echo " ========== "
      echo " The whole point of Elastic Beanstalk is that you shouldn't need to SSH into the server. "
      echo " ========== "

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读