Tag: amazon web services

AWS Elastic Beanstalk更改已加载目录的权限

我正在将一个Laravel应用程序部署到一个多容器Elastic Beanstalkconfiguration。 应用程序代码打包在一个zip文件中,并作为部署的一部分进行上传,然后将其安装到PHP-FPM Docker容器中。 容器运行正常并且代码被挂载,但是所有挂载的目录都由root拥有,因此应用程序不能写入这些目录(日志文件,框架文件等所需的)。 我需要他们由www-data拥有 如果我在EC2实例上手动SSH,然后运行docker exec -it container_id bash并运行ls -la我可以看到所有文件/目录都由root拥有。 如果我运行chown -R www-data: storage vendor那么应用程序按预期工作。 因此,我需要find一种方法来改变php-fpm容器内的安装目录的权限。 我已经在.ebextensions/permissions.config尝试了以下命令 container_commands: 01_change_storage_permissions: # Get the php fpm container ID and change permissions on the mounted directories command: sudo docker exec $(sudo docker ps -aqf "name=php-fpm") chown -R www-data:www-data storage vendor bootstrap 部署是成功的,所以我可以假定命令成功执行,但不幸的是似乎没有改变权限,因为login到容器,目录仍然由根

aws代码生成失败的构build步骤图像丢失

嗨,我现在正在运行aws代码pipe道。 现在我得到一个错误: ./buildspec_build.sh: line 5: cd: target/docker/stage: No such file or directory Sending build context to Docker daemon 194.6 kB Step 1 : EXPOSE 9000 Please provide a source image with `from` prior to commit [Container] 2017/11/16 15:23:13 Command did not exit successfully chmod +x buildspec_build.sh && ./buildspec_build.sh exit status 1 [Container] 2017/11/16 15:23:13 Phase […]

将运行在独立ec2主机上的docker节点连接到Jenkins

我有2个EC2实例。 一个运行Jenkins,另一个运行Docker。 我正在尝试连接运行在Docker主机上的容器作为节点的Jenkins。 要启动Docker主机上的容器,我运行以下命令: sudo dockerd -H tcp://127.0.0.1:2376 -H unix:///var/run/docker.sock 在云端设置(在jenkins / configure下) Docker主机URI: tcp://IP-ADDRESS-OF-EC2-DOCKER-HOST:2376 Docker主机名或IP地址: IP-ADDRESS-OF-EC2-DOCKER-HOST Dockerfile: FROM ubuntu:16.04 RUN apt-get update RUN apt-get install openjdk-8-jdk -y RUN mkdir -p /home/jenkins EXPOSE 22 ec2 Docker主机安全开放传入端口:2375,2376,4243,22 当我点击“testing连接”button时,我得到: Connection refused: /IP-ADDRESS-OF-EC2-DOCKER-HOST:2376 java.net.ConnectException: Connection refused Caused: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /IP-ADDRESS-OF-EC2-DOCKER-HOST:2376 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:352) […]

从Docker .net核心连接本地主机Mysql

我在Docker中的.net核心中使用WebAPI。 我想在AWS EC2实例上部署此API,并使用本地mysql数据库与其他Web应用程序一起工作。 如何从Docker内部到达这个Mysql? 本地我可以通过使用我的私人IP地址 => optionsBuilder.UseMySql(@"Server=$my_local_ip;database=db_name;uid=user;pwd=pass;"); $my_local_ip确定我应该使用哪个$my_local_ip连接到数据库? 但是在EC2上使用私有IP的时候,在发送无法连接到任何MYSQL主机的请求时出现错误。

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

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

AWS Elastic Beanstalk Docker环境variables

如何将环境variables传递给在AWS Elastic Beanstalk中运行的Docker容器多个docker容器configuration (不同的容器)?

EC2容器registry入门

这让我很头疼 这是我迄今为止所做的 创build了一个EC2虚拟服务器实例,并运行 安装了AWS CLI 安装了我的EC2虚拟服务器后,我SSH进入它的Docker 所以看看文档,它会告诉你如何构build一个图像。 现在是我的困惑。 问题1 :我正确地假设一个人可以select: a)从主机上创build一个镜像,或者b)从Docker Hub中拖出一个由他人创build的镜像。 问题2 :如果我对第一个问题是正确的,那么如果我不是从docker中心拉出一个图像,那么我要怎么build立一个图像? 与AWS文档在这里? 问题3 :然后我看到了一个完全不同的路线,使用Docker Compose,所以我会使用它来代替上述所有内容? 这太混乱了。 EC2容器registry – 现在一般可用 再说一遍, 在这里 ,它告诉你在主机上安装docker。 然后立即跳入“创build图像”。 创build一个形象,什么,该主机的操作系统? 我不明白,我想这就是这个意思,或者我可以从Docker Hub中获取一张图片,而不是走这条路线? 同样在这里 ,它是在谈论创造一个docker形象, 什么主机? Or..maybe我不明白什么“形象”的意思,但我假设走这条路线,而不是从Docker Hub拉我从EC2虚拟实例创build一个图像的Docker图像?

将敏感信息传递给AWS EC2容器服务中的Docker容器

我目前正在学习如何使用Docker和Amazon的EC2容器服务。 我有一个需要访问敏感信息(API密钥,数据库密码)的应用程序。 将这些信息构build到Docker映像中似乎不太合适。 我应该如何安全地存储敏感信息,以及如何让我的应用程序在容器中运行?

Amazon Elastic Beanstalk中的Docker部署错误 – Docker容器意外退出

我想通过Elastic Beanstalk部署一个简单的docker容器,但我得到Docker容器意外退出错误。 不知道这里有什么问题。 先谢谢您的帮助。 Dockerrun.aws.json: { "AWSEBDockerrunVersion": "1", "Image": { "Name": "janedoe/image", "Update": "true" }, "Ports": [{ "ContainerPort": "10010" }], "Volumes": [{ "HostDirectory": "/home/ec2-user/testdocker", "ContainerDirectory": "/home/ec2-user/testdocker" }], "Logging": "/home/ec2-user/testlogs" } Dockerfile: FROM centos:centos6 MAINTAINER janedoe 运行回声“testing”EXPOSE 10010 日志: [2016-03-22T22:56:35.034Z] INFO [15895] – [Application update/AppDeployStage0/AppDeployPreHook/03build.sh] : Completed activity. Result: centos6: Pulling from library/centos Digest: sha256:ec1bf627545d77d05270b3bbd32a9acca713189c58bc118f21abd17ff2629e3f Status: […]

我可以使用docker-compose构build一个容器图像吗?

我有一个应用程序,目前有几个容器 – 我想build立Web容器,孤立,发送到AWS ECS。 docker-compose.yml目前包含web端口,命令,env等的信息,而我的web容器的实际dockerfile只有python版本。 如果我使用docker build . 从app / web目录中,我不认为从docker-compose文件的端口设置通过。 是否有可能使用docker-compose构buildweb? 或者我需要填写我的web目录中的dockerfile? 我只想将我的Web容器图像推送到ECS 至于为什么我这样做,我认为在本地我会用redis,nginx和postgres开发 – 但ECS有自己的select,所以我不需要使用这些容器。 这里有一些重大的误解,有人可以清理吗?