Tag: amazon ec2

为什么从docker容器到其他实例/服务器的SSH太慢了

我有一个充当安装程序的docker集装箱。 容器包含运行可靠脚本的必要工具。 这个可靠的脚本创build了一些EC2实例。 但是在每个单独的服务器上都需要一些额外的configuration。 所以我尝试SSH到创build的EC2实例,但它似乎是从我的容器内很慢。 有人知道为什么或者什么可能是一个好的解决scheme吗?

运行在EC2实例内的Docker容器内运行的Web服务器响应非常缓慢

我有一个在AWS EC2 Ubuntu实例中的Docker容器内运行的Web服务器。 当我向Web服务器发送请求时,我得到的响应非常缓慢(大多数情况下20+秒,尽pipe响应时间不同)。 但是它并没有超时 。 Web服务器是一个非常轻量级的。 这只是testing,所以几乎什么都不做。 docker version 17.03.0-ce docker-compose version 1.12.0-rc1 我到目前为止如何debugging 从EC2实例 (url ='http:// localhost:xxxx / api')发送请求到Docker容器中运行的Web服务器时,它仍然很慢。 所以不应该与从外部发送请求有关。 我直接在EC2内部运行另一个Web服务器(不在Docker容器中), 速度 不是 很慢 。 它反应非常快。 我在EC2的另一个Docker容器中运行另一个Web服务器, 它也非常慢! 当我从Docker容器内发送请求到运行在其中的Web服务器(在它的本地主机)时, 它也是非常慢的 ! 我在我的Mac电脑上使用相同的命令运行容器,得到的响应不是很慢! 以下是其中一个容器统计信息: CPU %: 0.28% MEM USAGE / LIMIT: 27.49 MiB / 992.5 MiB MEM %: 2.77% NET I/O: 53.7 kB / […]

AWS上的Docker在以某种方式运行时填充其精简池?

我在AWS上有一个ElasticBeanstalk服务器。 即使没有图像被拖动,精简池仍会持续填充一天,直到文件系统以只读方式重新挂载并且应用程序死亡。 Docker 1.12.6在最新的Amazon AMI上发生这种情况。 我真的无法做出正面或反面的。 当一个EC2实例(托pipeBeanstalk)启动时,它在精简池中大约有1.3GB。 当我的1.2GB图像运行时,它有大约3.6GB(这是记住的信息,这是非常接近)。 好没关系。 切到5小时后… (从托pipe它的EC2实例) docker info返回: Storage Driver: devicemapper Pool Name: docker-docker–pool Pool Blocksize: 524.3 kB Base Device Size: 107.4 GB Backing Filesystem: ext4 Data file: Metadata file: Data Space Used: 8.489 GB Data Space Total: 12.73 GB Data Space Available: 4.245 GB lvs同意。 在另外几个小时内,将会变成12.73GB使用和0B免费。 dmesg将会报告: [2077620.433382] Buffer […]

如何在AWS Elastic Beanstalk中使用docker tomcat来定制rest服务

您好,我是新来的docker,并试图了解如何在AWS中使用docker集装箱在tomcat中部署rest服务。 基本上,任何rest服务需要一个服务器,所以我能够部署我的战争文件在安装在EC2实例的tomcat应用程序文件夹。 但是当我用docker去EB应用程序时,它希望我提供一个docker zip文件(显然包含dockerfile)。 所以我的dockerfile应该指定我使用openjdk,然后安装tomcat和安装环境variables。 这部分我明白了。 接下来将war文件传送到docker中的这个tomcat位置。 我被困在这里,我应该如何做到这一点。 我应该复制泊坞窗图像出口战争文件? 还是有办法避免这个? 我正在寻找一种方法,我可以使用maven构build源文件并将其部署到与docker和tomcat的Elastic beanstalk。 请原谅这个令人困惑的问题和愚蠢,但我读了很多文章,我完全困惑,所以在这里寻求帮助。

Amazon AWS的Dockerfile脚本

我想在Amazon的Elastic Beanstalk上启动我的Web应用程序(Play 2.2 App)。 Play应用程序是一个独立的myApp.zip压缩文件。 我的Docker-Archive包含: -myApp.zip(包含myApp.zip/myApp-1.0-SNAPSHOT/bin/myApp下的开始文件) -Dockerfile与以下脚本: 从dockerfile / java 添加myApp-1.0-SNAPSHOT.zip / usr / local / myApp WORKDIR / usr / local / myApp 运行myApp-1.0-SNAPSHOT / bin / myApp EXPOSE 9000 我得到以下错误: 步骤3:运行myApp-1.0-SNAPSHOT / bin / myApp —>运行在b9e18d52cc99 2014/10/31 10:51:52不能mkdir:/ usr / local / myApp不是一个目录。 检查快照日志的详细信息。 看起来第二行(ADD …)没有任何作用。 当我通过SSH连接到节点时,我也找不到/ usr / local / myApp目录。 […]

无法连接到AWS EC2实例中的Docker PostgreSQL容器

Docker新手在这里。 我正在尝试在AWS EC2实例中为PostgreSQL创build一个Docker容器。 首先,为了实现持久性,我使用数据卷容器 。 这里是我用来为我的PostgreSQL数据库创build一个数据卷容器的命令: docker create -v /var/lib/postgresql/data –name postgres9.3.6-data busybox 然后我运行以下命令来创buildPostgreSQL容器: docker run –name postgres9.3.6 \ -p 5432:5432 \ -e POSTGRES_PASSWORD=password \ -e POSTGRES_USER=root \ -e POSTGRES_DB=db_name \ -d –volumes-from postgres9.3.6-data postgres:9.3.6 我在我的本地环境中运行它,然后尝试通过PostgreSQL桌面客户端连接到它,它工作。 我能够连接到存储在本地PostgreSQL泊坞窗容器中的db_name。 在此之后,我使用了AWS中的一个EC2实例。 并遵循上面描述的相同的stream程。 然后返回到PostgreSQL桌面客户端并尝试连接到它。 但是我收到以下错误信息: 拒绝连接。 检查主机名和端口是否正确,以及postmaster是否接受TCP / IP连接。 我在这里错过了什么? 编辑 我已经检查并将postgresql.conf文件中的listen_addresses设置为 listen_addresses='*' 并将以下行添加到pg_hba.conf文件中: host all all 0.0.0.0/0 md5

在AWS Elastic Beanstalk上运行Docker容器 – 我的web应用程序在哪里?

我使用Elastic Beanstalk控制台将应用程序从Docker容器部署到AWS Elastic Beanstalk。 完成在AWS Elastic Beanstalk上部署Web应用程序之后 – 环境状态为绿色。 我单击环境仪表板上的URL链接查看我的Web应用程序。 它总是导航到网页有string Congratulations! Your Docker Container is now running in Elastic Beanstalk on your own dedicated environment in the AWS Cloud 我读了日志文件,我没有看到任何错误。 这是它的链接: http : //dockstalker-env.elasticbeanstalk.com/我的网站应用程序在哪里? 我想念什么? Dockerfile FROM ubuntu:14.04 RUN apt-get update && apt-get upgrade -y RUN apt-get install -y git git-core wget zip nodejs […]

打开cassandra节点间encryption原因“无法与任何种子闲谈”exception

我正在尝试将cassandra(2.1)节点间encryption。 出于testing目的,我试图启动一个2节点集群。 我正在两个独立的ec2实例上运行Docker容器内的每个节点。 没有节点间encryption,一切都按预期工作。 我使用以下脚本(取自https://docs.jboss.org/author/display/RHQ/Cassandra+Node+To+Node+Encryption?_sscc=t )生成ssl密钥: for ((a=0; a < NUMBER_OF_NODES ; a++)) do node_id=node${a} echo -e "Start building certificates for ${node_id}" echo -e "==========================================" rm -vf ./${node_id}.keystore rm -vf ./${node_id}.cer #1 Generate key and store ${java_folder}/keytool -genkey -v -keyalg RSA -keysize 1024 -alias ${node_id} -keystore ${node_id}.keystore -storepass "${node_id}store" -dname 'CN=RHQ' -keypass "${node_id}store" -validity 3650 […]

如何在ECS上使用参数运行nginx反向代理容器

我在这里有一个稍微修改的容器版本: http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/ 要在本地运行,请使用: $ docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock -t jwilder/nginx-proxy 并运行我的其他容器类似于下面: $ docker run -e VIRTUAL_HOST=my-domain.local -t -d my-repo/site-name 我无法将其转换为ECS上的任务定义。 任务定义 我有两个容器: nginx的-反向代理 端口映射:主机80容器80 基本的:是的 命令:/app/docker-entrypoint.sh 静态网站 端口映射:主机5000容器5000 必要:错误 命令:/some-file.sh 环境variables:VIRTUAL_HOST static.example.com 我有一个ECS实例和一个服务器的集群,上面定义了一个任务。 这会保持循环,并以“已停止(必需的任务退出的容器)”失败。 现在我假设我需要设置卷,但所有的例子,我可以find一个path和一个名字,我不明白我可以如何转换这个“/var/run/docker.sock:/tmp/docker.sock”到任何可用的字段。

Amazon Elastic Beanstalk vs使用docker容器的EC2实例

如果我理解正确,Elastic Beanstalk会为您部署的每个应用程序创build一个EC2实例。 但是,一个应用程序通常不会以100%CPU运行,但是每个实例使用的都是亚马逊。 所以,如果我部署了5个应用程序Dockerfiles,AWS将收取每月使用5个EC2实例。 考虑到这一点,我不能只是简单地启动一个EC2,安装docker和在那里运行我的容器? 这不是更具成本效益?