小编ale*_*olk的帖子

如何检查CloudFormation脚本中是否已存在特定资源

我正在使用cloudformation来创建一个包含自动调整的ec2实例和S3存储桶的堆栈.对于S3存储桶,我将DeletionPolicy设置为Retain,工作正常,直到我想再次重新运行我的cloudformation脚本.由于在之前的运行中,脚本创建了S3存储桶,因此在后续运行中失败,说我的S3存储桶已经存在.当然也没有创建其他资源.我的问题是如何检查我的S3存储桶是否首先存在于cloudformation脚本中,如果存在,则跳过创建该资源.我查看了AWS中的条件,但它似乎都是基于参数的,我还没有找到一个从现有资源检查的函数.

automation amazon-web-services conditional-statements aws-cloudformation

30
推荐指数
3
解决办法
2万
查看次数

Docker注册表2.0 API v2

我拉了并设置了本地docker注册表:2.0

我已经尝试成功推送图像,但是当我尝试搜索图像时,我得到404:

root@ip-10-232-0-153:~# curl -v -X GET http://localhost:5000/v2/search
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 5000 (#0)
> GET /v2/search HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:5000
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< Docker-Distribution-Api-Version: registry/2.0
< Date: Fri, 08 May 2015 00:00:45 GMT
< Content-Length: 19
<
404 page not found
* Connection #0 to host localhost left intact
Run Code Online (Sandbox Code Playgroud)

此外,当我尝试卷曲localhost:5000时,我只得到404:

404 page …
Run Code Online (Sandbox Code Playgroud)

search curl http-status-code-404 docker docker-registry

21
推荐指数
1
解决办法
3万
查看次数

如何使用cloudformation来创建ecs集群?

我想使用一个cloudformation模板来创建我的ecs集群,而不是手工旋转它,但我还没有找到办法.这还没有实现,你可以在你的cloudformation模板中创建一个ecs集群作为资源,看起来有点奇怪,他们没有包含它.

amazon-web-services amazon-ecs aws-cloudformation

12
推荐指数
1
解决办法
8188
查看次数

Docker注册表:2.0覆盖配置选项

有没有人尝试使用环境变量覆盖注册表中的配置选项,例如,如果必须使用s3存储桶作为存储.我阅读了文档,并说它(https://docs.docker.com/registry/configuration/):

Overriding configuration options
Environment variables may be used to override configuration parameters other than 
version. To override a configuration option, create an environment variable named 
REGISTRY_variable_ where variable is the name of the configuration option.

e.g

REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/tmp/registry/test

will set the storage root directory to /tmp/registry/test
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个命令,但是当我启动注册表时似乎没有任何效果:

docker run -it -v /var/log/docker-registry:/var/log -p 5000:5000 \
-e REGISTRY_STORAGE_S3_ACCESSKEY=****************** \
-e REGISTRY_STORAGE_S3_SECRETKEY=****************** \
-e REGISTRY_STORAGE_S3_BUCKET=itmcc-docker-registry-backend \
-e REGISTRY_STORAGE_S3_REGION=us-east-1 \
registry:2.0
Run Code Online (Sandbox Code Playgroud)

在日志中,我看到常规输出,好像它没有考虑env变量并尝试连接到S3:

INFO[0000] endpoint local-8082 disabled, skipping        environment=development instance.id=025c9fcd-2ec1-4d5f-82ec-d3246d54cdb5 service=registry version=v2.0.0 …
Run Code Online (Sandbox Code Playgroud)

environment-variables amazon-s3 docker docker-registry

10
推荐指数
2
解决办法
5868
查看次数

运行Nginx Docker或cat日志时无法使用-lt

我最近拉了一张nginx图片:

docker pull nginx
Run Code Online (Sandbox Code Playgroud)

我可以成功运行它并转到http:// server_name并查看"欢迎使用Nginx"页面:

docker run -d -p 80:80 nginx
Run Code Online (Sandbox Code Playgroud)

但是当我尝试检查日志时:

docker exec 6c79549e3eb4f6e5fc06f049b67814ac4560ce2cdd7cc6ae84b44b5ae09a9a05 cat /var/log/nginx/access.log
Run Code Online (Sandbox Code Playgroud)

它只是挂起并输出任何内容.与错误日志相同.现在,如果我在同一个文件夹中创建一个test.txt文件并使用docker exec来(查看)cat该文件,我执行时不会挂起或出现任何问题.

即使我尝试在交互模式下运行它,它只是挂起:

docker run -i -t -p 80:80 nginx
Run Code Online (Sandbox Code Playgroud)

终端再次挂起在下一行无所事事,但它似乎工作,因为我可以访问nginx欢迎页面.

真的很困惑,我试图寻找这个问题,但到目前为止还没有找到任何解决方案.无法查看日志,调试将非常困难:)也不应该将访问日志移动到nginx容器中的stdout,因为通过docker containers登录到stdout?

nginx hang cat docker

8
推荐指数
1
解决办法
1759
查看次数

ELK堆栈中REDIS的重点是什么?

我目前使用filebeat作为日志托运者的架构,它将日志发送到日志存储索引器实例,然后发送到AWS中的托管弹性搜索.由于持久的TCP连接,我无法使用AWS ELB多个日志存储索引器实例进行负载平衡,因为filebeats总是选择实例并将其发送到那里.所以我决定使用redis.现在看看在ELK堆栈中扩展redis并使其高度可用的组件是多么困难,我想问一下redis的重点是什么.我读了一百万次它作为一个缓冲区,但如果logbeash停止发送日志到logstash如果logstash无法处理负载,为什么我们甚至需要一个缓冲区.Filebeat非常聪明,可以知道停止发送日志.如果弹性搜索发生故障,Logstash足够聪明,可以停止向弹性搜索发送日志.所以管道停止了.我真的不明白redis在每个标准ELK架构中充当缓冲区.

redis elastic-stack filebeat

8
推荐指数
1
解决办法
7039
查看次数

如何使用日志驱动程序从 docker 容器流式传输多个日志

如果我在 docker 容器中有一个日志,并且只能选择 1 个日志流式传输到 stdout,那么效果很好。但是,如果我的 docker 容器中有多个日志,并且我想使用 aws 日志驱动程序将每个日志流式传输到 cloudwatch,该怎么办?

例如我有tomcat应用程序日志、tomcat访问日志和tomcat错误日志。

理想情况下,我希望每个日志都流式传输到它自己的日志组。所以它会是这样的:

O AWS_cloudwatch_log_group_application_logs
  - log_stream_application_logs_instance_a
  - log_stream_application_logs_instance_b
  - log_stream_application_logs_instance_c
O AWS_cloudwatch_log_group_access_logs
  - log_stream_access_logs_instance_a
  - log_stream_access_logs_instance_b
  - log_stream_access_logs_instance_c
O AWS_cloudwatch_log_group_error_logs
  - log_stream_error_logs_instance_a
  - log_stream_error_logs_instance_b
  - log_stream_error_logs_instance_c
O AWS_cloudwatch_log_group_catalina_logs
  - log_stream_catalina_logs_instance_a
  - log_stream_catalina_logs_instance_b
  - log_stream_catalina_logs_instance_c
Run Code Online (Sandbox Code Playgroud)

我将如何实现这一目标?

logging amazon-cloudwatch docker

5
推荐指数
0
解决办法
1057
查看次数