##寫在前面 tomcat和jdk是指定的版本,系統環境是Centos7。須要把源代碼集成到鏡像中。java
##編寫Dockerfilelinux
# 基於centos:7 製做鏡像 FROM centos:7 MAINTAINER "cary <accaolei@gmail.com>" ADD ./soft/tomcat.tar.gz /usr/local/ ADD ./soft/jdk-7u80-linux-x64.tar.gz /usr/local/ WORDIR /usr/local/ RUN mv apache-tomcat-7.0.73 tomcat #添加代碼和配置文件 #ADD ./soft/catalina.sh /usr/local/tomcat/bin/ #ADD ./soft/server.xml /usr/local/tomcat/conf/ #RUN rm -rf /usr/local/tomcat/webapps/* ADD ./soft/app-share /usr/local/tomcat/webapps/ #設置a環境變量 ENV JAVA_HOME=/usr/local/jdk1.7.0_80 ENV JRE_HOME=/usr/local/jdk1.7.0_80/jre ENV PATH=$PATH:/usr/local/jdk1.7.0_80/bin ENV CLASSPATH=./:/usr/local/jdk1.7.0_80/lib:/usr/local/jdk1.7.0_80/jre/lib ENV TOMCAT_HOME=/usr/local/tomcat ENV CATALINA_HOME=/usr/local/tomcat # 賦予能夠執行權限 RUN chmod u+x /usr/local/tomcat/bin/*.sh #開發端口 EXPOSE 8080 #啓動Tomcat CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
##構建鏡像web
#Dockerfile 文件所在目錄執行 語法:docker build -t {命名空間}/鏡像名稱:{版本} . docker build -t c/test:v1 . [root@iZm5eh8nr0sr6z51jy72t4Z data]# docker build -t c/test:v1 . Sending build context to Docker daemon 204.3MB Step 1/18 : FROM centos:7 ---> a8493f5f50ff Step 2/18 : ADD ./soft/tomcat.tar.gz /usr/local/ ---> Using cache ---> 02ca8824de66 Step 3/18 : ADD ./soft/jdk-7u80-linux-x64.tar.gz /usr/local/ ---> Using cache ---> 55b2e278ee27 Step 4/18 : WORKDIR /usr/local/ ...... ...... Step 17/18 : WORKDIR /usr/local/tomcat/bin/ ---> eda1f15ea591 Removing intermediate container 2890cf1fcd3a Step 18/18 : CMD /usr/local/tomcat/bin/catalina.sh run ---> Running in 600a9c39db94 ---> ef0863755c3a Removing intermediate container 600a9c39db94 Successfully built ef0863755c3a Successfully tagged c/test:v1
[root@iZm5eh8nr0sr6z51jy72t4Z data]# docker run -p 8080:8080 c/test:v1 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server version: Apache Tomcat/7.0.73 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server built: Nov 7 2016 21:27:23 UTC May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server number: 7.0.73.0 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Name: Linux May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Version: 3.10.0-514.6.2.el7.x86_64 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Architecture: amd64 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Java Home: /usr/local/jdk1.7.0_80/jre May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Version: 1.7.0_80-b15 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: /usr/local/tomcat May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: /usr/local/tomcat May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.endorsed.dirs=/usr/local/tomcat/endorsed May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.base=/usr/local/tomcat May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.home=/usr/local/tomcat May 08, 2017 6:46:18 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp May 08, 2017 6:46:18 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib May 08, 2017 6:46:18 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] May 08, 2017 6:46:18 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] May 08, 2017 6:46:18 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 698 ms May 08, 2017 6:46:18 AM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina May 08, 2017 6:46:18 AM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.73 May 08, 2017 6:46:18 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /usr/local/tomcat/webapps/manager # 這裏會卡一會須要優化 May 08, 2017 6:48:31 AM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [132,247] milliseconds. May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /usr/local/tomcat/webapps/manager has finished in 132,763 ms May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /usr/local/tomcat/webapps/docs May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /usr/local/tomcat/webapps/docs has finished in 54 ms May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /usr/local/tomcat/webapps/examples May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /usr/local/tomcat/webapps/examples has finished in 297 ms May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /usr/local/tomcat/webapps/host-manager May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /usr/local/tomcat/webapps/host-manager has finished in 60 ms May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /usr/local/tomcat/webapps/ROOT May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /usr/local/tomcat/webapps/ROOT has finished in 42 ms May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /usr/local/tomcat/webapps/resources May 08, 2017 6:48:31 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /usr/local/tomcat/webapps/resources has finished in 50 ms May 08, 2017 6:48:31 AM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] May 08, 2017 6:48:31 AM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] May 08, 2017 6:48:31 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 133361 ms
tomcat過程當中會卡一下,還須要優化 ##驗證訪問 docker