Я создал Dockerfile, используя https://github.com/docker-library/tomcat/blob/a31bd73be2dafa9429c0ff582bcc6fe94c308992/9.0/jdk8/openjdk/Dockerfile
Создал образ с docker build --network=host -t imagename .
, я запустил его с --network=host
, поскольку по какой-то причине он не разрешал адреса. например, debian.org
Добавлено исключение для порта 8081 на брандмауэре серверов.
Запущен контейнер с docker run -d -p 8081:8080 imagename
Скопирован файл войны в каталог webapps внутри контейнера расположен по адресу /usr/local/tomcat/webapps
Я перезапустил контейнер, когда я пытаюсь получить доступ к приложению на моем компьютере, используя http://serverip:8081/
, я не могу получить к нему доступ, даже http://localhost:8081
на сервере не может получить к нему доступ.
Запуск curl http://localhost:8081/
на сервере, который я получаю (56) Ошибка Recv: сброс соединения одноранговым узлом
Однако приложение, похоже, работает внутри контейнера, я запустил bash в контейнере и выполнил curl -I http://localhost:8080
, и я получил информацию о приложениях.
Я также могу получить доступ к приложению с сервера, используя интерфейс докеров http://172.17.0.1:8080