Я запускаю команду для запуска контейнера докера, такого как «docker run -p 8080: 8080 tomcat: 7.0», используя интерфейс марафона. Марафон развертывает контейнер в одном из моих подчиненных узлов, однако он продолжает пытаться запустить контейнер снова и снова и многократно терпит неудачу. Сбой, потому что его невозможно связать с портом 8080, поскольку tomcat уже запущен из первого контейнера, развернутого марафонной картой.marathon & docker - почему марафон пытается воспроизвести изображение докера?
Команда docker, в которой я запускалась, работает в переднем плане, а tomcat работает на порту 8080, поэтому марафон не должен пытаться перезапустить. Любые мысли, почему это происходит?
Благодаря
Спасибо @Dharmit. Я использовал марафонский интерфейс для запуска экземпляра докера, например «docker run -p 8080: 8080 tomcat». это обеспечило бы, что докер запускает tomcat на переднем плане, и я обнаружил, что марафон пытался запустить несколько экземпляров одного и того же контейнера и несколько раз не выполнялся (вчера). я переустановил всю среду и попробовал сейчас, и она работает так, как ожидалось. Это не запуск более одного экземпляра, и это то, что я попросил марафон сделать это в первую очередь. – user3012653
У меня никогда не было успеха при запуске контейнеров-докеров с json. Если я представить JSON как { "ID": "кот", "экземпляры": "1", "процессоры": "0,5", "MEM": "512", "контейнер": { "Тип": "DOCKER", "докер": { "образ": "кот: 7,0" } }} марафон всегда ждет в 0/1 и никогда не разворачивает его к Mesos рабов. я понятия не имею, какие журналы ссылаются на причину сбоя. – user3012653
Интересно. Я всегда добился успеха в развертывании контейнеров Docker с использованием Marathon REST API и json-файла. Вы проверяли, доступно ли изображение на ведомых устройствах? Возможно, загрузка изображений занимает время, которое, в свою очередь, заставляет вас почувствовать, что оно не работает. Что касается журналов, вы можете проверить ведомые журналы для подчиненного устройства, на котором марафон пытался развернуть контейнер. Или вы можете нажать на ссылку «Песочница» в пользовательском интерфейсе Mesos и обратиться к stdout/stderr. – Dharmit