Запуск файла войны Java, развернутого на Tomcat через Windows Server 2016 Docker-контейнер
Попытка запустить файл.war Java с Docker на Windows server 2016.
С контейнером Linux это можно сделать, потянув образ Tomcat (который построен поверх openJDK и использует Debian в качестве базового образа) и добавив файл war в папку webapps через Dockerfile.
Но у Tomcat в настоящее время нет образа для контейнеров Windows, так как openJDK также не поддерживает Microsoft / windowsservercore или Microsoft / nanoserver.
На мой взгляд, чтобы иметь возможность запустить войну на Tomcat для Windows, нам понадобится:
- windowsservercore
- JDK: установка JRE поверх windowsservercore
- Установка Tomcat с Environment Vars установленного JDK.
Для создания окончательного образа JDK загружается и устанавливается через PS:
Dockerfile выглядит так:
FROM windowsservercore
RUN powershell (new-object System.Net.WebClient).Downloadfile('http://javadl.oracle.com/webapps/download/Au toDL?BundleId=210185', 'C:\jre-8u91-windows-x64.exe')
RUN powershell start-process -filepath C:\jre-8u91-windows-x64.exe -passthru -wait -argumentlist "/s,INSTALLDIR=c:\Java\jre1.8.0_91,/L,install64.log"
RUN del C:\jre-8u91-windows-x64.exe
CMD [ "c:\\Java\\jre1.8.0_91\\bin\\java.exe", "-version"]
Но я не уверен, как установить Tomcat с установленными переменными среды и затем добавить войну в каталог веб-приложений.
Слышал про WinDocks, но хотелось бы собрать без него.
У кого-нибудь есть идеи по этому поводу?