Docker. Tomcat7 не запускается

#docker #tomcat7

#docker #tomcat7

Вопрос:

Я пытаюсь запустить Tomcat 7 в Docker. team sudo Docker pull kotyara:7.0.62-jre8 все идет хорошо. Загрузка выполнена успешно.

После того, как я попытаюсь запустить изображение с некоторыми параметрами, команда выглядит следующим образом:

 sudo Docker run -D -P -In /storage/data/kotyar/web applications:/usr/local/kotyar/web applications -In /storage/data/kotyar/logs:/usr/local/kotyar/logs-kotyar name:7.0.62-jre8 . Then I get the following error:
  

Ответ на ошибку от демона:

lstat/storage/docker/overlay 2 / 6dd8ad08f0702d88f545c6fad62b58f74c95dc5e234fe7668536407019bcebbd: такого файла или каталога нет. См. Раздел «Запуск docker — справка»

Я также попытался просто запустить изображение без каких-либо параметров и все равно получаю ту же ошибку. Пример запуска образа:

 sudo Docker run-name Tomcat Tomcat:7.0.62-jre8
  

Как я могу избавиться от этой проблемы? Или я делаю что-то не так?

Ответ №1:

Как описано в выпуске moby / moby 11012:

Если вы используете overlay или overlay2 поверх XFS, убедитесь, что вы не видите это предупреждение в выходных данных docker info :

 The backing xfs filesystem is formatted without `d_type` support, which leads to incorrect behavior.  
  

Переформатируйте файловую систему с помощью ftype=1 , чтобы включить d_type поддержку.

Вы также можете проверить поле Supports d_type в разделе storage-driver в выходных данных docker info :

 Storage Driver: overlay
 Backing Filesystem: xfs
 Supports d_type: false
  

Если вы видите это предупреждение, проблема может быть связана с этим.

Известно, что запуск overlay (или overlay2) в XFS без d_type вызывает проблемы.
В настоящее время Docker «разрешает» это для обеспечения обратной совместимости в существующих установках, но не будет использовать драйвер overlay / overlay2 при новых установках.

Также ознакомьтесь с этими проблемами, которые содержат некоторую информацию #10294, #29873.

В примечаниях к выпуску RHEL упоминается об этом: «Файловые системы / OverlayFS«:

Обратите внимание, что файловые системы XFS должны быть созданы с включенной -n ftype=1 опцией для использования в качестве наложения.
С rootfs и любыми файловыми системами, созданными во время установки системы, задайте --mkfsoptions=-n ftype=1 параметры в Anaconda kickstart.
При создании новой файловой системы после установки выполните # mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE команду.
Чтобы определить, подходит ли существующая файловая система для использования в качестве наложения, запустите # xfs_info /PATH/TO/DEVICE | grep ftype команду, чтобы проверить, включена ли эта ftype=1 опция.

Итак, во-первых, дважды проверьте docker info вывод: ваш вопрос зависит от вашей ОС и версии docker.