【问题标题】:Run Docker Network using Amazon ECS使用 Amazon ECS 运行 Docker 网络
【发布时间】:2019-11-13 04:55:20
【问题描述】:

我有一个希望在 AWS 上运行的 docker 网络,最好使用 Fargate Launch type

将图像推送到 ECR(Elastic Container Registry)没有问题,但我不确定如何推送网络。我有以下命令可以在我的机器上本地运行它:

docker pull zilutian/hadoop
docker pull zilutian/data-analytics
docker network create hadoop-net
docker run -d --net hadoop-net --name master --hostname master zilutian/data-analytics master
docker run -d --net hadoop-net --name slave01 --hostname slave01 zilutian/hadoop slave
docker run -d --net hadoop-net --name slave02 --hostname slave02 zilutian/hadoop slave
docker exec master benchmark

不知道是需要推送网络还是主从?

【问题讨论】:

    标签: amazon-web-services docker amazon-ecs aws-fargate amazon-ecr


    【解决方案1】:

    唯一您可以推送到 ECR(或任何其他镜像注册表)的东西是 Docker 镜像本身;您在docker run 命令中引用的zilutian/data-analyticszilutian/Hadoop 图像的内容。您不能推送网络、正在运行的容器、容器中的进程或其他任何东西。

    其中 90% 可以封装在 Docker Compose YAML 文件中,这可能是描述这组图像、运行命令和专用网络的最简单方法。您可以将此文件签入源代码管理;无法将其推送到 Docker 注册表。 (或者,您也可以将问题中的文件作为 shell 脚本签入并运行它。)

    您不能在其中包含的一件事是docker exec 命令。不清楚为什么要从 Hadoop 主节点启动基准测试;我会 docker run 一个单独的容器作为基准测试工具,或者可能直接从主机或其他可以访问集群的地方​​在 Docker 之外运行它。

    【讨论】:

    • 感谢@David 的详细回答,当您说将文件作为 shell 脚本运行时,您的意思是仅在单个 EC2 实例上执行,就像我在本地 Linux 机器上执行的操作一样?该基准测试是云性能基准测试套件的一部分,这就是我想测试 Fargate 以评估其性能的原因。如果有关基准帮助的更多详细信息,请访问以下链接:github.com/parsa-epfl/cloudsuite/blob/master/docs/benchmarks/… 那么,关于如何将其与docker exec 命令一起使用有什么建议吗?
    猜你喜欢
    • 2017-04-20
    • 2017-06-30
    • 2018-09-04
    • 2022-01-19
    • 2019-02-15
    • 2020-02-11
    • 2023-03-07
    • 2023-02-18
    • 2019-01-01
    相关资源
    最近更新 更多