Мне нужно создать изображение с подробной информацией об установке tomcat. Я пробовал много файлов dockerfile в сети и пытался построить, но не повезло. Кто-нибудь скажет мне, какие команды должны быть в файле docker для успешной установки tomcat ?.I не нужно никакое официальное изображение tomcat. Спасибо заранее.Dockerfile для tomcat
ответ
Существует несколько вариантов использования Tomcat в Docker. Например. Есть официальные версии, которые вы можете найти на https://registry.hub.docker.com/_/tomcat/
Но, если вы хотите создать файл с нуля следующими может быть помощь:
FROM ubuntu:14.04
RUN apt-get update && apt-get -y upgrade
RUN apt-get -y install software-properties-common
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get -y update
# Accept the license
RUN echo "oracle-java7-installer shared/accepted-oracle-license-v1-1 boolean true" | debconf-set-selections
RUN apt-get -y install oracle-java7-installer
# Here comes the tomcat installation
RUN apt-get -y install tomcat7
RUN echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle" >> /etc/default/tomcat7
# Expose the default tomcat port
EXPOSE 8080
# Start the tomcat (and leave it hanging)
CMD service tomcat7 start && tail -f /var/lib/tomcat7/logs/catalina.out
Для создания образа просто использовать docker build:
docker build -t my/tomcat .
Чтобы начать контейнер, вы должны mount a volume с вашим файлом войны.
docker run -v /somefolder/myapp:/var/lib/tomcat7/webapps/myapp -p 8080:8080 my/tomcat
Тогда вы должны быть установлены!
он сказал, что запуск tomcat не удался – user2451997
Это также не удалось для меня. Мне нужна информация о том, как смотреть журналы и т. Д., Также, если это можно запустить. – Jeff
для отладки: попробуйте ssh в контейнер, без запуска tomcat: [docker run -v/somefolder/myapp:/var/lib/tomcat7/webapps/myapp -p 8080: 8080 -it my/tomcat bash] в приведенной выше команде, проверьте, правильно ли указана папка вашего приложения. -v/somefolder/myapp:/var/lib/tomcat7/webapps/myapp Затем попробуйте запустить службу tomcat и посмотреть, что происходит .... –
Это то, что я сделал, чтобы решить эту проблему:
Dockerfile
FROM tomcat
MAINTAINER richard
RUN apt-get update && apt-get -y upgrade
WORKDIR /usr/local/tomcat
COPY tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/context.xml
EXPOSE 8080
Я копирую эти два файла для того, чтобы получить доступ к приложению менеджера снаружи. Если вы хотите его тоже, добавьте следующие строки в контекст и Tomcat-пользователи файлов
context.xml
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
-users.xml кот
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<user username="admin" password="secret" roles="manager-gui"/>
</tomcat-users>
Тогда вы можете его построить и запустить:
docker build -t name/tomcat .
docker run -d -p 8080:8080 --name some_name name/tomcat
Развертывание приложения следующим образом:
docker cp some/app.war some_name:/usr/local/tomcat/webapps/app.war
- 1. Dockerfile для нескольких контейнеров Docker
- 2. Dockerfile для службы PHP
- 3. Go requirements.txt для Dockerfile
- 4. Dockerfile для развертывания Yesod
- 5. Стратегии Dockerfile для Git
- 6. Symlinked Dockerfile для сред
- 7. Скриншот Dockerfile для Amazon AWS
- 8. DockerFile для запуска java-программы
- 9. Dockerfile Динамический реестр для изображения
- 10. Автоматизация Dockerfile
- 11. Можно ли использовать файл Dockerfile без имени «Dockerfile» с CircleCI?
- 12. Pass аргумент dockerfile @ выполнения
- 13. Как параметризовать Dockerfile?
- 14. Packer, Dockramp vs Dockerfile
- 15. Dockerfile vs Docker image
- 16. Файл Dockerfile COPY в правый контейнер
- 17. Kubernetes and Dockerfile
- 18. Пользовательские команды/директивы Dockerfile
- 19. Dockerfile - apt-get only?
- 20. Использование COPY на dockerfile для сборки apache
- 21. Dockerfile для добавления томов в Геррит контейнер
- 22. Docker/Dockerfile: Использование ENTRYPOINT для git clone
- 23. Dockerfile Определение VOLUME для монтирования дерева проекта
- 24. Не удалось найти сущность для dockerfile/elasticsearch
- 25. dockerfile с путем окна
- 26. Dockerfile: понимание инструкции VOLUME
- 27. Golang Dockerfile Failing
- 28. Dockerfile vs docker-compose.yml
- 29. Провиденциальная машина: Dockerfile (Dockerfile) должен находиться в контексте сборки
- 30. dockerfile: не в состоянии выполнить команду
Посмотрите на [этих Dockerfiles] (https://github.com/tutumcloud/tutum-docker-tomcat) –
Вы можете использовать их в качестве отправной точки, а также: https://github.com/docker-library/tomcat –