0

我有一个想在 AWS 上运行的 docker 网络,最好使用Fargate Launch 类型

将图像推送到 ECR(弹性容器注册表)不是问题,但我不确定如何推送网络。我有以下命令可以在我的机器上本地运行它:

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

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

4

1 回答 1

1

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

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

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

于 2019-07-02T14:19:49.837 回答