Tag: AMI

如何为给定的Linux文件夹内的所有文件提供默认权限

我需要使在特定的Linux目录中创build的任何文件具有777权限。 我想让所有的用户能够在这个文件夹下的所有文件上进行读,写和执行。 那么什么是最好的方法或Linux命令来实现呢? 我正在做的是,我旋转了两个单独的容器,一个用于Nginx服务器,另一个用于PHP:FPM应用服务器,以托pipeLaravel 5.4应用程序。 请考虑以下情况。 我有一个Docker应用程序容器A(PHP:FPM),用于将Web应用程序文件提供给Docker容器B(Nginx)。 现在,当我访问网站时,我通过networking容器提供网页。 这两个容器都在同一个networking中,我将我的应用程序容器中的卷共享到我的Web容器。 但是,当Web容器试图读取应用程序容器上的文件时,我得到如下所示的错误: stream或文件“/var/www/storage/logs/laravel.log”无法打开:无法打开stream:权限被拒绝 所以我在我的docker文件中添加了RUN chmod -R 777 storage 。 但是这不是解决问题的方法。 所以我也尝试使用SGID来解决这个问题,在我的dockerfile中添加一行作为RUN chmod -R ug+rwxs storage 。 仍然没有解决许可的问题。 在一个单独的笔记,有趣的是,在我的MAC泊坞窗容器这工作没有任何问题(我的意思是没有添加chmod -R 777到文件夹或使用SGID设置许可到我的泊坞窗文件中的文件夹)。 但是,如果在Linux AMI EC2实例(Amazon AMI Linux EC2)上运行相同的代码,则会发生权限问题。 那么我该如何解决这个问题呢?

AWS导入/导出任务的磁盘validation失败

我一直在尝试将Docker镜像转换为VMDK文件,以使用AWS的导入/导出function创buildAWS AMI。 为了那个原因: 我已经使用这个指南从我的DockerFile创build.img文件。 现在,我正在使用以下命令: VBoxManage convertfromraw –format VMDK disk.img disk.vmdk将.img文件转换为.vmdk文件,因为IMG格式不受AWS服务支持。 但是,当我运行导入/导出服务,它给了我这个错误: "StatusMessage": "ClientError: Disk validation failed [Unsupported VMDK File Format]" 我的转换过程中有什么错误吗?

将应用程序从一个AMI无缝切换到另一个AMI

我有我的OpenDJ LDAP设置运行在Ubuntu 16.04基地AMI。 我现在想用新的补丁AMIreplace基础AMI,而不影响我的OpenDJ工作。 每次发布新的AMI时,我都需要这样做。 我能想到的一种方法是使用新的AMI创build一个新的EC2实例,从现有的LDAP中导出数据并将其导入到新的EC2实例中。 但我想知道是否有更好更智能的方式来自动执行此操作。 如何将应用程序从一个AMI / EC2实例切换到另一个AMI / EC2实例,而无需重新configuration或断开其function?

在MacOS上运行Amazon-Linux Docker镜像

我能够从这个dockerhub下载亚马逊linux的图像 – ambakshi/amazon-linux 2016.03 083f32382cc4 4 months ago 142.7 MB 但是我不能够“安装”任何软件包。 保持提供403禁止的错误。 [root @ 8ea0c348a91c /]#yum install lxml 加载插件:优先级,更新motd,升级帮手http://packages.us-west-2.amazonaws.com/2016.09/main/20160901f6a8/x86_64/repodata/repomd.xml?instance_id=fail&region=URLError:[Errno 14] PYCURL错误22 – “请求的URL返回错误:403禁止”尝试其他镜像。 有什么我失踪? 我正在Mac OS中尝试所有这一切。 有人可以帮忙吗? 谢谢Ramya

如何将PRE部署脚本添加到AWS Elastic Beanstalk Docker EC2实例,自定义AMI不起作用

我真的很喜欢这样一个事实,即我可以使用Elastic Beanstalk将Docker镜像推送到AWS ECR中。 唯一让我头痛的是缺less有关如何将预部署挂钩添加到Elastic Beanstalk EC2实例的信息? 如果我理解正确,.ebextensions脚本运行POST部署,所以这些不解决我的问题在这里。 我想出了一个解决scheme,我需要将在预部署阶段运行的脚本手动添加到EB EC2实例中。 更具体地说到目录中: 的/ opt / elasticbeanstalk /钩/ appdeploy /预 现在,每次我将新的应用程序版本部署到我的实例中,脚本就被执行了,而这正是我想要的。 但是,如果连接到我的EB环境的负载平衡器启动一个新的EB实例,它显然不包含手动添加的脚本,因此将无法运行我的应用程序。 我还尝试从运行的EB EC2容器创buildAMI,其中包含我的自定义预部署脚本,但由于某些原因,Docker无法在基于自定义AMI的新EB实例上启动。 eb-activity.log说: [2016-08-29T07:38:36.580Z] INFO [3887] – [Initialization/PreInitStage0/PreInitHook/01setup-docker-options.sh] : Activity execution failed, because: Stopping docker: [FAILED] Starting docker: ……….[FAILED (ElasticBeanstalk::ExternalInvocationError) caused by: Stopping docker: [FAILED] Starting docker: ……….[FAILED] (Executor::NonZeroExitStatus) 如果我SSH进入EB实例,并尝试手动启动Docker服务,结果相同: sudo service docker restart Stopping docker: […]

在Amazon ElasticBeanstalk中使用docker或自定义AMI

我正在将应用程序迁移到Amazon,ElasticBeanstalk似乎是正确的工具。 此应用程序需要一些未安装在默认AMI中的软件包,我发现有两种方法可以为我的应用程序生成完整的环境: 自定义AMI:只需添加一些软件包到默认的AMI,并保存为我的自定义AMI。 Docker容器:使用具有Docker支持的Amazon映像,提供Dockerfile并让Amazon构build和部署映像。 我的问题是,什么是推荐的select? 我担心性能或部署与自动缩放相关的时间(将会有多个实例) 我想知道,如果有人知道真正的优点和常数或每个选项(理论上两个选项都是“平等”)。 我也知道这两种方法(自定义AMI和Docker),但从未在高负载环境下尝试过。

Docker与AMI的区别

在AWS的情况下: AMI用于打包软件,可以部署在EC2上。 Docker也可以用来打包软件,也可以部署到EC2。 两者之间有什么区别,我如何select它们?