如何在 Docker 上设置云托管
How to set up cloud custodian on Docker
全部,
我正在尝试在 Fargate 上的 AWS ECS 计划任务上实施云托管解决方案。
我的 Dockerfile
看起来像:
FROM cloudcustodian/c7n:latest
WORKDIR /opt/src
COPY policy.yml policy.yml
COPY mailer.yml mailer.yml
ENTRYPOINT [ "/bin/sh" ]
其中 policy.yml
看起来像
policies:
- name: c7n-mailer-test
resource: sqs
filters:
- "tag:MailerTest": absent
actions:
- type: notify
template: default
priority_header: '2'
subject: testing the c7n mailer
to:
- test@mydomain.com
transport:
type: sqs
queue: arn:aws:iam::xxxx:role/cloud-custodian-mailer-role-svc
还有 mailer.yml
看起来像
queue_url: https://sqs.ap-southeast-1.amazonaws.com/xvxvxvx9/cloud-custodian
role: arn:aws:iam::xxxxx:role/cloud-custodian-mailer-role
from_address: test@mydomain.in
在 运行 图片之后,我在 SQS 或收件人的电子邮件中看不到任何消息。
此外,我怎样才能将输出也存储在 s3 上。
已在 docker hub cloud custodian 上提供官方 docker 图像:https://hub.docker.com/r/cloudcustodian/c7n
如果您想将工具与保管人一起使用,docker 中心 Ex 上还提供了单独的 docker 图像。邮寄者:https://hub.docker.com/r/cloudcustodian/mailer
但是,如果你想 运行 在同一个容器中,请看一下这个:https://github.com/harsh4870/cloud-custodian
Dockerfile
FROM python:3.6-alpine
LABEL MAINTAINER="Harsh Manvar <harsh.manvar111@gmail.com>"
WORKDIR /opt/src
COPY cloud-custodian .
RUN apk add --no-cache --virtual .build-deps gcc musl-dev
RUN pip install -r requirements.txt && \
python setup.py install && \
cd tools/c7n_mailer/ && \
pip install -r requirements.txt && \
pip install requests && \
python setup.py install
RUN apk del .build-deps gcc musl-dev
WORKDIR /opt/src
COPY policy.yml policy.yml
COPY mailer.yml mailer.yml
ENTRYPOINT [ "/bin/sh" ]
运行 docker 通过命令传递图像 :
docker run \
-e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
-e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
-e AWS_DEFAULT_REGION="$(REGION)" \
-v "$(CURDIR)/logs:/tmp" \
"cloud-custodian:$(VERSION)" \
-c "/usr/local/bin/custodian run -c policy.yml -s .; /usr/local/bin/c7n-mailer --config mailer.yml --run"
全部,
我正在尝试在 Fargate 上的 AWS ECS 计划任务上实施云托管解决方案。
我的 Dockerfile
看起来像:
FROM cloudcustodian/c7n:latest
WORKDIR /opt/src
COPY policy.yml policy.yml
COPY mailer.yml mailer.yml
ENTRYPOINT [ "/bin/sh" ]
其中 policy.yml
看起来像
policies:
- name: c7n-mailer-test
resource: sqs
filters:
- "tag:MailerTest": absent
actions:
- type: notify
template: default
priority_header: '2'
subject: testing the c7n mailer
to:
- test@mydomain.com
transport:
type: sqs
queue: arn:aws:iam::xxxx:role/cloud-custodian-mailer-role-svc
还有 mailer.yml
看起来像
queue_url: https://sqs.ap-southeast-1.amazonaws.com/xvxvxvx9/cloud-custodian
role: arn:aws:iam::xxxxx:role/cloud-custodian-mailer-role
from_address: test@mydomain.in
在 运行 图片之后,我在 SQS 或收件人的电子邮件中看不到任何消息。
此外,我怎样才能将输出也存储在 s3 上。
已在 docker hub cloud custodian 上提供官方 docker 图像:https://hub.docker.com/r/cloudcustodian/c7n
如果您想将工具与保管人一起使用,docker 中心 Ex 上还提供了单独的 docker 图像。邮寄者:https://hub.docker.com/r/cloudcustodian/mailer
但是,如果你想 运行 在同一个容器中,请看一下这个:https://github.com/harsh4870/cloud-custodian
Dockerfile
FROM python:3.6-alpine
LABEL MAINTAINER="Harsh Manvar <harsh.manvar111@gmail.com>"
WORKDIR /opt/src
COPY cloud-custodian .
RUN apk add --no-cache --virtual .build-deps gcc musl-dev
RUN pip install -r requirements.txt && \
python setup.py install && \
cd tools/c7n_mailer/ && \
pip install -r requirements.txt && \
pip install requests && \
python setup.py install
RUN apk del .build-deps gcc musl-dev
WORKDIR /opt/src
COPY policy.yml policy.yml
COPY mailer.yml mailer.yml
ENTRYPOINT [ "/bin/sh" ]
运行 docker 通过命令传递图像 :
docker run \
-e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
-e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
-e AWS_DEFAULT_REGION="$(REGION)" \
-v "$(CURDIR)/logs:/tmp" \
"cloud-custodian:$(VERSION)" \
-c "/usr/local/bin/custodian run -c policy.yml -s .; /usr/local/bin/c7n-mailer --config mailer.yml --run"