#amazon-web-services #docker
#amazon-веб-сервисы #docker
Вопрос:
Я пытаюсь развернуть кластер ECS для работы без браузера. Однако я столкнулся с некоторой проблемой, которую я не могу решить.
Я попытаюсь рассказать вам о том, что я делал при настройке.
Зашел в ECS, создал кластер, выбрал пользовательский образ, путь к образу docker.io/browserless/chrome:latest для https://hub.docker.com/r/browserless/chrome
Добавлены порты 80 и 8080 для сопоставления портов.
Оставил все по умолчанию / пустым.
Запустил настройку, и через некоторое время все стало зеленым и запущено.
Безуспешно пытаюсь подключиться к общедоступному IP-адресу (белый экран)
Я проверяю cloud watch и вижу эту ошибку
/bin/sh: 1: cannot create
/usr/local/apache2/htdocs/index.html: Directory nonexistent
Не уверен, как это исправить.
Спасибо
Ответ №1:
Немного поиграв с этим, я устранил проблему.
Поскольку контейнер docker запущен на порту 3000, мне нужно было добавить 3000 в группу безопасности и перейти на общедоступный IP-адрес с портом 3000.
Комментарии:
1. Это правильно, вы также можете добавить сопоставление из
80:3000
, если хотите сохранить 80 в качестве порта.
Ответ №2:
Возможно, вы столкнулись с некоторой проблемой с разрешениями внутри контейнера, где он пытается создать index.html но не удается из-за недостаточных разрешений, вы могли бы попробовать выполнить CHMOD 755 через каталог, другим способом отладки было бы запустить docker локально и посмотреть, столкнетесь ли вы с той же проблемой, затем вы можете добавить CHMOD (если это проблема) в свой dockerfile для создания нового образа. Надеюсь, это даст вам некоторое представление
Комментарии:
1. Запущенный docker локально работает без каких-либо проблем. Не уверен, как отредактировать файл docker, чтобы включить предварительные изменения, поскольку я извлекаю изображение из docker hub в настройках ECS
2. Создается ли образ docker пользователем? или вы используете стороннюю программу?
3. Не мной. Я связал его сверху. Это пакет без браузера
Ответ №3:
Основной причиной этой ошибки может быть команда по умолчанию в определениях контейнеров, создайте новое определение задачи и в настройках определения контейнера перейдите в раздел Среда и проверьте команду, если в поле есть какая-либо команда по умолчанию, удалите / обновите ее.