Tag: amazon web services

无法将日志从Amazon EC2 AMI中的Docker容器stream式传输到Cloudwatch日志

我使用Amazon AMI在Amazon EC2实例上运行Docker容器,我使用docker awslogs驱动程序将容器中的日志stream式传输到cloudwatch。 它工作正常,我看到Cloudwatch中的日志,但如果我重新启动容器,日志不会被发送到Cloudwatch。 如果我再次停下并启动容器,它就会起作用。 任何帮助,为什么docker awslogs驱动程序无法上载日志,当我重新启动容器是有帮助的。 谢谢。

如何从Docker Conainer内运行的应用程序读取ECS实例标签信息

我正在尝试从部署为ECS服务的应用程序中读取我的EC2实例标记(键和值)。 所以我在docker容器内,我正在尝试读取主机实例的元数据。 我在AWS中查看了这个文档,但是这里只讨论通过SSH读取EC2实例元数据的细节。 但我不打算做SSH。 所以这些API不能在Docker容器中工作。 不过,我发现了一种方法来从我的应用程序中读取docker容器内的mata-data信息。 如curl http://169.254.169.254/latest/meta-data/ 您可以在作为ECS服务运行的Docker容器中运行这些命令,以获取有关元数据的一些信息。 但是,如何读取运行我的Docker容器的EC2主机实例上的标签? 我喜欢在正在运行的docker容器中读取一个名为Environment的 EC2主机实例上的标签。

将文件从amazon s3桶复制到docker集装箱

Given that I have a s3 bucket called "mybucket" And I have a docker container called "myfileserver" And I have another docker container called "s3cli" with s3 cli commands And I am on "s3cli" when I try to copy files from "mybucket" to "myfileserver" Then I get confused how to do so? 从s3cli容器运行命令时,将文件从mybucket复制到myfileserver的最佳方法是什么? 我想过使用容器之间共享的数据卷? 有什么更简单或更好?

如何使用awslogs驱动程序login到单个stream

我正在使用AWS ECS并使用aws日志驱动程序进行集中式日志logging。 以下是我的日志configuration的片段。 "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "app-test", "awslogs-region": "us-west-2", "awslogs-stream-prefix": "spring-boot-app" } } 我有多个服务实例,因此有多个任务。 日志正在login到cloudwatch,但意外地多个stream正在创build(每个任务ID一个)。 有没有一种方法来configurationaws日志驱动程序,以便单个服务的所有日志将被logging到单个stream而不是分散在多个stream中?

正在build造一个自包含的docker集装箱正确的生产方式来做到这一点

我inheritance了我以前的开发团队的任务,纠正他所犯的任何错误。 目前我们的PHP开发人员正在将他们的APP部署在一个docker容器中,该容器由dockerfile中的以下内容组成: PHP-5.6fpm或PHP-7.0-fpm作为基础 安装他们的PHP扩展 安装nginx-lite 安装supervisord 复制nginx.conf 复制supervisor.conf 内部主pipe,我们将有2个命令:一个用于nginx和一个用于php。 然后主pipe将成为D​​ockerfile末尾的默认CMD。 容器内的/ app目录是应用程序的一个副本。 我们部署在一台m3 ec2服务器上并启动容器。 在ec2服务器里面有nginx正在监听某个端口。 我们已经附加了一个LB来监听应用程序端口映射的容器:即,app1在端口8001上,app2在端口8002上,等等。我们使用其他服务器来为应用程序提供服务(比如RDS for db,redis由elatic-cache等完成)。 目前这些容器正在工作 – 但是 – 我想知道是否通过黑客和斜杠工作,如果这些容器实际上是适当的。 问题: – 我以前的开发人员在创build应用程序容器时是否正确? – 如果答案是否定的,那么为了实现正确的生产docker部署,我们最终会把Kubernetes

Docker SSHlogin远程失败

我在运行SSH服务的AWS服务器中创build了一个docker。 我依靠以下示例: https ://docs.docker.com/engine/examples/running_ssh_service/并将我自己的逻辑添加到Dockerfile。 当试图远程login到docker时,我得到提示的密码信息,但是我为SSH用户设置的密码不起作用。 当使用本地ssh连接(从AWS服务器到127.0.0.1 -p exported_SSH_port)尝试完全相同的密码时,它可以正常工作。 有任何想法吗?

无法在互联网上访问AWS上暴露的k8s服务

我在我的AWS ECR上有一个名为hello-node的图像(在post底部有描述)。 如果我在本地运行它并转到localhost:8080我看到“hello world”。 在AWS上我的节点上运行: kubectl run hello-node –image=xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/hello-node:v1 –port=8080 (帐号被屏蔽) 然后: kubectl expose deployment hello-node –type="LoadBalancer" 如果我运行: kubectl describe service hello-node 我看到(信息编辑) Name: hello-node Namespace: default Labels: run=hello-node Annotations: <none> Selector: run=hello-node Type: LoadBalancer IP: xx.xx.xx.xx LoadBalancer Ingress: xxxxxxxxx-xxxxxx.us-east-1.elb.amazonaws.com Port: <unset> 8080/TCP NodePort: <unset> 32059/TCP Endpoints: xx.xx.xx.xx:8080 Session Affinity: None 我想在线访问我的hello-node服务。 我想在浏览器中访问一些url或IP地址,看看“hello world”。 我试过去上面列出的IP,LoadBalancer […]

aws wordpress托pipe的devise架构SaaS

我正在devise一个SaaS,它将向用户提供一个WordPress的安装,用户可以购买这个SaaS,然后用户可以使用WordPress的仪表板来做他想做的事情,并上传他们的网站。 它将有一个平台,用户可以login,select一个域(如果可用)或使用像subdomain_user_chosed.mySaaS.com或类似的子域。 然后,他们将支付它,如果付款被确认,它将从一个预先存在的docker形象创build一个docker集装箱。 这个SaaS的每个客户都将是一个docker集装箱。 如果所有容器都使用我的域名,我可以轻松地处理这个问题,让我们说mySaaS.com,但如果用户使用自己的域名,我怎么能使它工作?

教程泊坞窗部署您的应用程序

我试图在示例https://docs.docker.com/get-started/part6/中以swarm模式部署应用程序 已经configuration了Docker Cloud Provider和Amazon Web Services服务提供者。 docker run –rm -ti -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST dockercloud / client user / votenation 我运行了export DOCKER_HOST = tcp://192.168.99.100:32768 但是当我运行docker节点ls它给这个错误。 连接期间出错: https ://192.168.99.100: 32768 /v1.30/ nodes :http:服务器给HTTP响应HTTPS客户端 什么可能是错的? docker版本客户端:版本:17.06.0-ce API版本:1.30 Go版本:go1.8.3 Git commit:02c1d87内置:星期五Jun 23 21:23:31 2017 OS / Arch:linux / amd64

在一个服务中可以有两个具有相同任务定义的任务吗?

我有一个pipe道,build立一个图像和更新服务。 最重要的是,这个任务只有一个,这是至关重要的。 容器所需的容量是4(在2个主机上)。 这给了我一个服务4个必要的容器,我只需要一个。 假设任务使用端口0> 80的dynamic端口映射,是否有一种方法可以有两个相同的任务,但一个具有所需的容量为1,基本设置为true,另一个任务与另外3个非必需的容器? 如果没有解决方法?