闲着无聊,今天就写个 dockerfile 定制 tomcat+nginx 集群
生活随笔
收集整理的這篇文章主要介紹了
闲着无聊,今天就写个 dockerfile 定制 tomcat+nginx 集群
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
dockerfile 定制 tomcat+nginx 集群
- 前言(來張圖)
- 一、dockerfile撰寫 tomcat 鏡像
- 二、dockerfile撰寫 nginx 鏡像
- 三、查看鏡像構(gòu)建情況
- 四、分別開啟nginx和tomcat
- 五、測試
前言(來張圖)
一、dockerfile撰寫 tomcat 鏡像
FROM centos:7.4.1708 COPY jdk-8u201-linux-x64.rpm /opt ADD apache-tomcat-9.0.16.tar.gz /opt RUN cd /opt && rpm -qpl jdk-8u201-linux-x64.rpm \&& rpm -ivh jdk-8u201-linux-x64.rpm ENV JAVA_HOME /usr/java/jdk1.8.0_201-amd64 ENV CLASSPATH .:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar ENV PATH $JAVA_HOME/bin:$PATH RUN mv /opt/apache-tomcat-9.0.16 /usr/local/tomcat \&& mkdir /usr/local/tomcat/webapps/lucien \&& echo -e "<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"UTF-8\"%> \n<html>\n<head>\n<title>JSP test1 page</title>\n</head>\n<body>\n<% out.println("1234567890");%>\n</body>\n</html>" > /usr/local/tomcat/webapps/lucien/index.jsp RUN sed -i '71a <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">' /usr/local/tomcat/conf/server.xml \&& sed -i '72a <Context docBase="/usr/local/tomcat/webapps/lucien" path="" reloadable="true">' /usr/local/tomcat/conf/server.xml \&& sed -i '73a </Context>' /usr/local/tomcat/conf/server.xml \&& sed -i '74a </Host>' /usr/local/tomcat/conf/server.xml EXPOSE 8080 CMD ["/usr/local/tomcat/bin/catalina.sh","start"]文件結(jié)構(gòu):
創(chuàng)建tomcat鏡像:
二、dockerfile撰寫 nginx 鏡像
FROM centos:7.4.1708 ADD nginx-1.12.0.tar.gz /opt RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make \&& useradd -M -s /sbin/nologin nginx \&& cd /opt/nginx-1.12.0/ \&& ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-file-aio --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module \&& make \&& make install \&& ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx \&& echo -e "events {\nuse epoll;\nworker_connections 1024;\n}\nhttp {\nupstream tomcat_server {\nserver 172.168.184.100:8080 weight=1;\n}\nserver_tokens on;\nserver {\nlisten 80;\nserver_name localhost;\nlocation ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)\$ {\nroot /usr/local/nginx/html/xxx;\nexpires 10d;\n}\nlocation / {\nroot html;\nindex index.html index.htmi index.php;\n}\nerror_page 500 502 503 504 /50x.html;\nlocation = /50x.html {\nroot html;\n}\nlocation ~ .*.jsp\$ {\nproxy_pass http://tomcat_server;\nproxy_set_header HOST \$host;\nproxy_set_header X-Real-IP \$remote_addr;\nproxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;\n}\nlocation ~ \.php$ {\nroot html;\nfastcgi_pass 172.168.184.30:9000;\nfastcgi_index index.php;\nfastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;\ninclude fastcgi_params;\n}\n}\n}" > /usr/local/nginx/conf/nginx.conf ENV PATH /usr/local/nginx/sbin:$PATH WORKDIR /usr/local/nginx/ EXPOSE 80 CMD ["nginx","-g","daemon off;"]文件結(jié)構(gòu):
創(chuàng)建 nginx 鏡像:
三、查看鏡像構(gòu)建情況
四、分別開啟nginx和tomcat
五、測試
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的闲着无聊,今天就写个 dockerfile 定制 tomcat+nginx 集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ryzen内存bug揭秘:内存选购与BI
- 下一篇: 关于HTTP中40X和50X的问题(介绍