Обычно журналы для любого (живого или мертвого) контейнера можно найти, просто используя:
docker logs full-container-name
или
docker logs CONTAINERID
(заменяя фактический идентификатор вашего контейнера)
Как уже говорилось, это обычно работает также и для остановленных (но не удаленных) контейнеров, которые можно перечислить с помощью:
docker container ls -a
или просто
docker ps -a
Однако иногда у вас даже не будет журнала, поскольку контейнер вообще никогда не создавался (что, по моему опыту, больше подходит для вашего случая)
И это может происходить просто потому, чтомеханизм докера не может выделить все ресурсы, которые требуются для определения вашей службы.
Не удалось запустить приложение.Приложение, завершившееся во время инициализации
, обычно отражает то, что ваш механизм докера не может получить требуемые ресурсы.
И наиболее распространенный случай для этого такой же простой, как ваш хост-порты :
Если у вас есть другая служба (докеризируемая или нет), использующая (например) тот порт, который вы хотите использовать для своей услуги (в вашем случае, порт 80), то Dockerпросто не сможет запустить ваш контейнер.
Итак ... короче ... самое простое решение для этой ситуации (и ваша первая попытка, когда вы сталкиваетесь с подобными проблемами), это просто связать любой другой портот вашего хоста (скажем: 8080
) до того 80 порта, который ваша служба будет прослушивать внутренне (внутри вашего контейнера):
docker run -p 8080:80 myshinyapp
Тот же принцип применяется к невыбираемым томов (например: попытка связать том только для чтения, который на самом деле не существует на хосте)
В качестве комментария / уловки:
Поскольку выне задаешь намНапример, для вашего контейнера вам нужно будет использовать идентификатор контейнера при поиске его логов.
Но вместо того, чтобы вводить (или вставлять копию) полный идентификатор контейнера (обычно что-то вроде: 1283c66babea
или даже больше), вы можете просто ввести несколько первых цифр вместо этого, и он все равно будет работать как положено:
docker logs 1283c6
или docker logs 1283
или даже docker logs 128
(конечно ... до тех пор, пока у вас нет другого 128 ***** контейнера)