Tag: 亚马逊 ec2

Docker隐藏调用容器的IP

免责声明: 我是一个networking新手。 原谅我,如果我不使用适当的词汇来形容我的问题。 语境: 所以我有几个在CoreOS上运行的应用程序容器(Docker)。 每个容器必须具有不同的IAMangular色。 由于在同一个主机上可能会有N个不同的IAMangular色运行,因此使用EC2实例元数据( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2- instance-metadata.html )来检索实例凭证。 每个容器都需要一组不同的凭证(因为每个容器都有不同的angular色)。 为了解决这个问题,我偶然发现这个项目https://github.com/dump247/docker-ec2-metadata这是一个Go代理拦截(使用iptables规则)调用http://169.254.169.254/latest / meta-data / iam / security-credentials /,并根据调用容器的IAMangular色提供适当的凭据。 iptables规则(请参阅https://github.com/dump247/docker-ec2-metadata/blob/master/README.md )重新路由呼叫是: # Get the host IP address. You can use a different mechanism if you wish. # Note that IP can not be 127.0.0.1 because DNAT for loopback is not possible. PROXY_IP=$(ifconfig eth0 | grep […]

在Docker容器中将ASP.NET 5应用程序部署到EC2

我有一个运行Amazon Linux AMI 2015.03.1的t2.micro EC2实例。 我安装了泊坞窗 ,但也手动更新 。 最后,我让docker守护进程在我select的一个端口上监听,这样我就可以远程发布它。 在我的开发机器上,我添加了VS2015安装VS2015 Tools for Docker – August Preview 。 我添加了一个新的ASP.NET 5 Web应用程序,构build它并点击发布。 容器将其传递给主机,但由于此exception而永远不会运行; System.TypeLoadException: Could not load type 'Microsoft.Framework.Configuration.IConfigurationRoot' from assembly 'Microsoft.Framework.Configuration.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 — […]

是否可以将容器固定到远程计算机而不是新的容器实例?

我正在读Docker,ECS工具。 有许多远程物理主机 – hostA,hostB,hostC …..我们希望使用docker / ECS来pipe理我们现在非常手动的软件部署过程。 我理解docker的基础知识,但是我无法理解如何使用docker实际将代码更改部署到远程计算机,甚至在远程计算机上执行简单的命令。 我如何运行远程机器内的任务而不是容器实例? 或者如果它必须是一个容器实例,我在容器中更改代码,远程机器将如何获取更新? 这甚至可能吗? 我希望我有道理。 我在网上看到的所有示例都是在EC2实例或类似的东西上部署应用程序。 我需要的是部署或运行​​已经存在的物理机器上的命令。 任何其他更好的方法来做到这一点? 谢谢

我可以使用什么命令/configuration部署使用ecs-cli的django + postgres + nginx?

我有一个基本的django / postgres应用程序在本地运行,基于Docker Django文档 。 它使用docker compose在本地运行容器。 我想在Amazon Web Services(AWS)上运行此应用程序,并使用命令行进行部署,而不是AWS控制台。 我的尝试 当我尝试这个时,我结束了: 这个ECM-CLI的XMLconfiguration 这些笔记是关于如何从命令行部署的 。 注意:我试图以一种非常棒的方式启动Python开发服务器,希望在添加nginx之前能够工作。 集群(RDS +服务器)会出现,但是实例将立即死亡。 我然后无法解决的问题 我意识到了这个过程: 该设置需要另一个容器,以便在AWS上运行Web服务器(nginx)( 如本博客文章 ,但本教程使用AWS控制台,我想避免这种情况) ecs-cli对于yml / jsonconfiguration使用不同的语法来configurationdocker-compose,所以你需要从你的本地docker.yml中获得一些单独/相似的代码(我不确定上面的文件是否正确) 题 那么,我用什么ecs-cli命令和configuration来部署应用程序,还是我所有的事情都是错误的? 随意地说我做错了所有事情。 我也可以使用Elastic Beanstalk – 关于这个的教程似乎并没有使用docker / docker-compose ,但整体看起来更简单(至less有很好的文档)。 我想了解为什么任何给定的方法是一个很好的方法来做到这一点。

你如何得到一个VPC端点在Docker容器中工作?

我无法让AWS CLI从Docker容器中的S3下载文本文件。 有一个VPC设置与S3策略上批准的VPC端点: { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::secret-store/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" } } }, { "Sid": " DenyUnEncryptedInflightOperations", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::secret-store/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } }, { "Sid": "Access-to-specific-VPCE-only", "Effect": "Deny", "Principal": […]

如何将HostPort映射到AWS ECS中的Docker容器中

在AWS ECS中部署Docker容器时,我使用值为0的hostPort映射,以避免主机端口冲突并select任何可用的临时端口。 我有一个需要得到它的映射到Docker容器内的hostPort实际值(例如,我正在使用embedded了hazelcast的应用程序,我需要设置这样的公共地址)。 我可以通过在容器外部运行docker info而不是在容器内部从容器外部获取该docker info 。 一些其他stream行的系统,如mesos / marathon,提供了像PORT_8080或PORT_5701或PORT0 , PORT1这样的环境variables,但在AWS ECS服务中没有这样的变化。 有没有什么办法可以从Docker中获取这个有界的hostPort 。 任何帮助将不胜感激。

在AWS EC2容器服务中实现MongoDB

我需要在Amazon的AWS EC2容器服务中实现MongoDB,我不知道如何开始使用它,有很less或根本没有文档,我想知道你们中的任何人是否已经面临同样的问题,也许我们可以分享一些解决scheme。 提前致谢 :)

无法login到Nexus 3 dockerregistry

我已经在Nexus中使用Docker,Nexus3和Docker存储库在HTTP端口8123中设置了AWS EC2实例以及所有必要的设置,以便我可以从Docker中看到它。 在漫长的研究之后,我在dockerconfiguration文件中添加了正确的选项,以便在运行docker info ,可以将我的不安全的registry设置为正确的IP地址。 我可以从我的机器访问Nexuspipe理器的URL,没有任何问题,我可以创build存储库等。 然后我尝试从我的EC2实例中执行dockerlogin,如下所示: docker login -u admin -p admin123 my_ip_address:8123 过了一段时间,我得到这个: Error response from daemon: Get http://my_ip_address/v1/users/: dial tcp my_ip_address:8123: i/o timeout 我已经尝试了很多东西来解决这个问题,似乎没有任何工作。 我花了整整一天,试图了解为什么dockerlogin无法看到我的Nexus3registry。 有任何想法吗?

如何将文件从Docker镜像写入EFS?

组成 Jenkins服务器上的EC2实例,使用EFS 以上Jenkins服务器的Docker镜像 需要 每当ECS启动构buildJenkins服务器的任务时,将模板写入EFS上的目录 哪里是适当的地方去做写? 试着 如果我在Dockerfile中执行该操作,它将写入Docker镜像,但不会将更改传播到EFS,以便Jenkins服务器上的项目可以使用这些模板。 我试图把写入命令jenkins.sh但我不知道如何运行,无论如何,它不放置模板,我需要他们。

AWS EC2 ELB Docker路由

我正在运行docker-compose的问题,因为弹性负载平衡器。 安装程序是ELB确实443 – > TCP 80和docker工具0.0.0.0:80->4444/tcp 然而,服务器似乎并没有命中,我得到DNS_PROBE_FINISHED_NXDOMAIN 试图validation这是否是docker设置问题。 Docker version 1.12.6和Docker version 1.12.6 docker-compose version 1.12.0 网桥configuration没有定义Gateway是否正常? “` [root@loom-server1 ec2-user]# docker network inspect 8f1b234bfb0b [ { "Name": "bridge", "Id": "8f1b234bfb0b6c41962265299871cd8053757ec145f8e3f6b63960b71ceb3690", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.17.0.0/16" } ] }, "Internal": false, "Containers": { "bbd2b84545a0e3519e37fb4015eea45637b75ccaa1dd362aff68ff41f3118055": […]