Dockerfile为tomcat
我需要创build一个tomcat的安装details.I在网上尝试了许多docker文件,并试图build立,但没有luck.Can任何人都可以告诉我什么命令应该是他们在dockerfile成功的tomcat安装?我不需要任何官方的tomcat映像。提前致谢。
在Docker中使用Tomcat有几个可用选项。 例如,您可以在https://registry.hub.docker.com/_/tomcat/上find官方版本
但是,如果你想从头开始创build一个文件,以下可能会有所帮助:
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
要构build图像,只需使用docker build :
docker build -t my/tomcat .
要启动容器,你必须在你的war文件中加载一个卷 。
docker run -v /somefolder/myapp:/var/lib/tomcat7/webapps/myapp -p 8080:8080 my/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
我正在复制这两个文件,以便从外部访问pipe理器应用程序。 如果你也想要的话,把下面的代码添加到你的上下文和tomcat-users文件中
的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>
的tomcat-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>
然后你可以build立它并运行它:
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
- dockerSWARM不工作
- SaltStack:dockerng不可用
- 何时使用Docker-Compose以及何时使用Docker-Swarm
- docker运行初始化容器,但本地主机不加载(Windows 10)
- Docker非root用户访问:加载configuration文件时出错:stat /home/wu/.docker/config.json
- 桥泊坞站容器端口到主机端口
- 在Dockerrun源码包中部署AWS Elastic Beanstalk Docker部署中的ebextensionsconfiguration的位置?
- / var / lib / docker中没有overlayfs驱动程序
- Dockerfile找不到入口点脚本