Запустите Docker Network, используя Amazon ECS - PullRequest
0 голосов
/ 02 июля 2019

У меня есть докерская сеть, которую я хотел бы запустить на AWS, желательно с использованием Fargate Launch типа .

Загрузка изображений в 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

Я не уверен, нужно ли пушить сеть или мастер и рабов?

1 Ответ

1 голос
/ 02 июля 2019

only вещь, которую вы можете отправить в ECR (или любой другой реестр изображений) - это сами изображения Docker; содержимое изображений zilutian/data-analytics и zilutian/Hadoop, на которые вы ссылаетесь в команде docker run. Вы не можете протолкнуть сеть, запустить контейнеры, процессы в контейнере или что-либо еще.

90% этого вы можете инкапсулировать в YAML-файл Docker Compose, который, вероятно, является самым простым способом описания этого набора изображений, команд выполнения и частной сети. Вы можете проверить этот файл в системе контроля версий; нет способа отправить его в реестр Docker. (Или же вы можете просто проверить файл из вопроса в виде сценария оболочки и запустить его.)

Единственное, что вы не можете включить в это, - это команда docker exec. Непонятно, почему вы хотите запустить эталонный тест из главного узла Hadoop; Я бы docker run выделил отдельный контейнер для тестирования, или, возможно, запустил бы его вне Docker напрямую с хоста или где-нибудь еще, чтобы вы могли получить доступ к кластеру.

...