日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单的docker-compose编写介绍(包含 nginx+tomcat 实例演示)

發(fā)布時間:2024/2/28 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单的docker-compose编写介绍(包含 nginx+tomcat 实例演示) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡單的docker-compose編寫介紹(包含實例演示)

  • 一、docker compose常用命令
  • 二、docker compose配置常用字段
  • 三、docker compose 演示(tomcat+nginx)
    • 1、dockerfile撰寫 nginx 鏡像
    • 2、dockerfile撰寫 tomcat 鏡像
    • 3、撰寫docker compose.yml文件
    • 4、開啟,并查看運行狀態(tài)
    • 5、進行網(wǎng)頁測試(分別輸入192.168.184.70、192.168.184.70:8080/192.168.184.70/lucien/index.jsp)

一、docker compose常用命令

字段描述
build重新構建服務
ps列出容器
up創(chuàng)建和啟動容器
exec在容器里面執(zhí)行命令
scale指定一個服務容器啟動數(shù)量
top顯示容器進程
logs查看容器輸出
down刪除容器、網(wǎng)絡、數(shù)據(jù)卷和鏡像
stop/start/restart停止/啟動/重啟服務

二、docker compose配置常用字段

字段描述
build docker context指定Dockerfile文件名構建鏡像上下文路徑
image指定鏡像
command執(zhí)行命令,覆蓋默認命令
container_name指定容器名稱,由于容器名稱是唯一的,如果指定自定義名稱,則無法scale
environment添加環(huán)境變量
networks加入網(wǎng)絡
ports暴露容器端口,與-p相同,但不能低于60
volumes掛載宿主機路徑或命令卷
restart重啟策略,默認no,always,no-failure,unless-stoped
hostname容器主機名

三、docker compose 演示(tomcat+nginx)

1、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.17.0.3: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}\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;"]

2、dockerfile撰寫 tomcat 鏡像

FROM centos:7.4.1708 ADD jdk-8u91-linux-x64.tar.gz /usr/local ADD apache-tomcat-9.0.16.tar.gz /usr/local RUN mv /usr/local/jdk1.8.0_91 /usr/local/java && mv /usr/local/apache-tomcat-9.0.16 /usr/local/tomcat ENV JAVA_HOME /usr/local/java ENV JAVA_BIN /usr/local/java/bin ENV JRE_HOME /usr/local/java/jre ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar ENV PATH $JAVA_BIN:/usr/local/java/jre/bin:$PATH RUN 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(\"123456\");%>\n</body>\n</html>" > /usr/local/tomcat/webapps/lucien/index.jsp \&& 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 ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

3、撰寫docker compose.yml文件

version: '3' networks:lnmp:external: true services:tomcat:hostname: tomcatbuild:context: ./tomcatdockerfile: dockerfileports:- 8080:8080networks:lnmp:ipv4_address: 172.168.184.100nginx:hostname: nginxbuild:context: ./nginxdockerfile: dockerfileports:- 80:80networks:lnmp:ipv4_address: 172.168.184.50

4、開啟,并查看運行狀態(tài)



5、進行網(wǎng)頁測試(分別輸入192.168.184.70、192.168.184.70:8080/192.168.184.70/lucien/index.jsp)



總結

以上是生活随笔為你收集整理的简单的docker-compose编写介绍(包含 nginx+tomcat 实例演示)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。