如何解决在AWS Fargate的docker内部运行docker
我在Amazon ECS上创建了一个任务定义,并希望与Fargate一起运行。我设置了任务,网络模式是awsvpc。我在Amazon ECR上创建了带有Docker映像(简单的“ Hello world”项目)的新容器。运行任务-一切正常。现在,作为任务的一部分,我需要从hub.docker.com运行一个Docker容器
Dockerfile
FROM ubuntu
RUN apt-get update && apt-install ...
ADD script.sh /script.sh
RUN chmod +x /script.sh
ENTRYPOINT ["/script.sh"]
script.sh
#!/bin/bash
...prepare data
docker run -rm some_container_from_docker_hub
...continue process data
最初,我收到“找不到命令”错误。好的,我将docker安装到了映像中。现在,我有“无法连接到Docker守护程序”。 我的问题:有什么办法可以在Amazon Fargate的另一个Docker容器中运行一个Docker容器?
解决方法
您不能使用Fargate从另一个容器运行一个容器。 从另一个容器运行一个容器,就像您的情况一样,意味着您可以访问docker守护程序。访问docker守护程序意味着对主机的根访问。这破坏了Docker容器的隔离并且是不安全的。
根据您的使用情况,建议您使用EC2实例,使用CodeBuild或构建能够与api进行通信以跨越容器的运算符。
[编辑]:与此主题[ECS,Fargate]: Support for building Docker containers #95
似乎有一个未解决的问题版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。