WebSphere Liberty не работает в Docker-контейнере - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть контейнер свободы док-станции, ведьма вроде бы нормально запускается, но когда я пытаюсь войти через браузер, сервер недоступен. Я использую IBM Sample1.war для тестирования, чтобы убедиться, что это не файл war. Моя проблема в том, что файл журнала выглядит нормально:

[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKE0100I: This product is licensed for development, and limited production use. The full license terms can be viewed here: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/18.0.0.2/lafiles/en.html
[AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /opt/ibm/wlp/usr/servers/defaultServer/configDropins/defaults/keystore.xml
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://localhost:9080/Sample1/
[AUDIT   ] CWWKZ0001I: Application Sample1 started in 0.394 seconds.
[AUDIT   ] CWWKF0012I: The server installed the following features: [servlet-3.1].
[AUDIT   ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.

А вот файл докера:

FROM websphere-liberty:kernel

COPY server.xml /config/
COPY build/libs/Sample1.war /config/dropins/
RUN installUtility install --acceptLicense defaultServer

Понятия не имею, как отлаживать без ошибок. Спасибо

Вот мой Server.xml:

<server description="default servlet engine">

<!-- Enable features -->
<featureManager>
    <feature>servlet-3.1</feature>
</featureManager>
<httpEndpoint host="localhost" httpPort="9080" httpsPort="9443"
              id="defaultHttpEndpoint" />

1 Ответ

0 голосов
/ 11 сентября 2018

Похоже, что ваш сервер работает без ошибок, и также была развернута война Sample1 с web root / Sample1

Что вам нужно, как уже упоминалось, это:

  1. изменить httpEndpoint в server.xml host = "localhost" на host="*"
  2. убедитесь, что вы запускаете докер с сопоставлением портов, например

    docker run -d -p 80:9080 -p 443:9443 your-liberty-name

  3. откройте браузер и введите url (я полагаю, вы запустили демонстрацию Sample1, в которой есть SimpleServlet)

    http://the -ip / Sample1 / SimpleServlet или https://the -ip / Sample1 / SimpleServlet

    Выше сказано, что мы используем порты 80 и 443 (стандартные порты, нет необходимости указывать их в URL), ip зависит от того, используете ли вы локальный Docker-контейнер или удаленный. Введите ваш ip / localhost, если вы работаете локально.

Я бы также порекомендовал загрузить инструментальные средства IBM для веб-разработчиков для eclipse , которые позволяют очень легко управлять сервером в вашей среде IDE.


Несколько хороших ссылок:

IBM - создание Docker-контейнера ...

Докер-хаб websphere liberty ...

...