Tag: 弹性豆茎

AWS Elastic Beanstalk中的Docker:在$ PATH中找不到可执行文件“

我想在Elastic Beanstalk上部署一个多容器的Docker应用程序。 其中一个容器是一个芹菜容器,我有一个worker.sh脚本启动芹菜工人。 此容器的Dockerrun.aws.json如下所示: { "name": "celery", "image": "python:2", "memory": 384, "user": "nobody", "command": ["worker.sh"], "essential": true, "links": [ "redis" ], "mountPoints": [ { "containerPath": "/app", "sourceVolume": "_" } ] } 但是,我得到这个错误: oci runtime error: container_linux.go:247: starting container process caused "exec: \"worker.sh\": executable file not found in $PATH" 请记住,我已经尝试了没有括号的命令: "command": "worker.sh", 但是我得到了同样的错误信息。 如何修改我的Dockerrun.aws.json文件来运行这个脚本?

弹性beanstalk找不到Dockerfile

使用eb CLI时 eb init eb create 我收到一个错误: ERROR: [Instance: i-003165df12360a5c4] Command failed on instance. Return code: 1 Output: Dockerfile and Dockerrun.aws.json are both missing, abort deployment. 看起来发送到S3的ZIP文件确实只包含README.md文件。 但本地文件夹确实包含Dockerfile和 eb local run 似乎工作正常。 有任何想法吗?

AWS Elastic Beanstalk忽略了我的Dockerrun.aws.json文件

我跑了几个步骤,以达到在AWS ECR中预buildDocker镜像的目的。 当我在AWS中使用该接口创build一个EB栈并上传我的Dockerrun.aws.json文件时,它成功创build了堆栈。 现在我试图创build一个通过命令行而不是界面的堆栈,但我碰到一个恼人的问题,我不知道如何解决。 运行以下命令时: $ eb create 而不是它使用Dockerrun.aws.json ,我提供的位置,它应该拉图像,它试图build立docker图像…在我的文件夹,我运行上面的命令我有以下文件: Dockerfile Dockerrun.aws.json / src /(我的应用程序) ebextensions 我的假设是,如果我有Dockerrun.aws.json它应该使用它,并忽略Dockerfile? 任何线索是怎么回事? 让我知道如果提供的Dockerrun.aws.json或config.yaml的内容将是有益的

在工作层Elastic Beanstalk泊坞窗容器上缺less供应商目录

我有一个Symfony 3工作应用程序来处理webhook订阅。 我正在运行composer php安装和构build容器图像,标记并推送到EC2容器registry。 当我用下面的代码创build一个docker-compose文件时: version: "2" services: application: image: <ACCOUNT ID>.dkr.ecr.eu-west-1.amazonaws.com/webhook-worker:latest 然后运行docker-compose up -d ,然后运行docker-compose up -d docker-compose exec application ls ,我看到了vendor目录。 一切都好。 但是,当使用以下Dockerrun.aws.json文件由EB实例拉取图像时: { "AWSEBDockerrunVersion": "1", "Image": { "Name": "<ACCOUNT ID>.dkr.ecr.eu-west-1.amazonaws.com/webhook-worker:latest", "Update": "true" }, "Ports": [ { "ContainerPort": "80" } ], "Logging": "/var/www/html/var/logs/" } 然后我以root身份进入容器,并运行docker等价物, vendor目录丢失。 我错过了什么吗? 我真的不想在部署之后在容器中运行composer php – 它可能会失败,部署将失败 – 我不应该这样做。 […]

在Elastic Beanstalk / Docker Nginx / PHP-FPM实例中访问客户端IP

为了让部署和开发人员更容易,我已经使用他们的Docker容器服务在Elastic Beanstalk实例上部署了我们的REST API。 除了获取那些连接到API的客户端IP以及我迄今为止尝试过的所有尝试之外,所有的工作都很好,导致返回相同的Docker Container IP或HTTP 499错误消息。 Nginxconfiguration server { listen 80; server_name api.zecofrontend.local index index.php index.html; root /var/www/public; location / { try_files $uri /index.php?$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass app:9000; fastcgi_index index.php; include fastcgi_params; # fastcgi_param REMOTE_ADDR $http_x_real_ip; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } Docker撰写 version: '2' services: web: […]

在AWS EBS microservice docker环境中使用Kafka,以避免丢失用户请求并处理更多并发点击

目前,我正在使用AWS EBS微服务docker环境来部署在Scala和Akka中编写的微服务。 如果微服务docker的任何人崩溃,并重新启动。 在这种情况下,我们将失去用户的请求,服务将不会返回这些情况下的任何回应。 我目前的架构可以处理高达1000个并发请求,没有任何问题。 为了避免这个问题,我打算使用Kafka存储和检索所有请求和响应。 所以我想使用Kafka来pipe理我的所有Web服务的请求和响应,并包含一个单独的服务或Web套接字来处理所有请求,并将响应再次存储到Kafka。 在这种情况下,如果我的核心进程泊坞窗崩溃或重新启动。 在任何时候都不会失去任何要求和回应。 它将再次开始阅读卡夫卡的请求并处理它。 所有的Web服务都会将请求存储在Kafka的相关主题中,并获得相关响应主题的响应并返回到API响应。 我发现以下库在Scala Web服务中使用Kafka。 https://github.com/akka/reactive-kafka/ 请检查附加的架构图,我将使用它来有效地处理来自客户端应用程序的大量并发请求。 这是一个好方法吗? 我需要改变我的架构中的任何东西吗? 在对Kafka和微服务端口进行了更多的研究之后,我创build了这个架构。 请让我知道这个架构是否有问题。

无法通过我的gmail电子邮件ID从弹性beanstalk环境发送电子邮件

我正在使用Django作为框架,在docker和docker中运行的是运行在AWS elasticstalk docker平台上的。所以,我试图用我的Gmail id发送邮件,在本地环境(docker)中工作正常。 但是运行在弹性beanstalk docker上的同一个docker镜像没有发送邮件,它甚至没有给我一个错误或什么东西。它只是不发送邮件。 如果在本地环境中工作正常,为什么在云中运行时不发送邮件?

在Elastic Beanstalk的Docker中的cron作业中访问S3

我在一个docker映像中有一个cron作业,我将其部署到弹性beanstalk中。 在这个工作中,我希望在S3上包括读写操作,并且包含了AWS CLI工具。 但是,AWS CLI没有凭证就不是很有用。 我如何在Docker镜像中安全地包含AWS凭证,以便AWS CLI能够正常工作? 还是应该采取其他方法?

“nginx-proxy”docker image socket volume not mounted

我的Dockerrun.aws.json看起来像这样: { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "docker-socket", "host": { "sourcePath": "/var/run/docker.sock" } } ], "containerDefinitions": [ { "name": "nginx", "image": "nginx", "environment": [ { "name": "VIRTUAL_HOST", "value": "demo.local" } ], "essential": true, "memory": 128 }, { "name": "nginx-proxy", "image": "jwilder/nginx-proxy", "essential": true, "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], […]

Docker镜像里面的进程是否仍然需要pipe理?

假设我在运行在弹性beanstalk(或任何其他框架)上的Docker容器中运行了一个java web应用程序。 我仍然有责任确保我的stream程具有某种stream程pipe理,以确保stream程正确吗? 即supervisord或runit 或者这是EB会以某种方式pipe理的东西?