tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)
类别:服务器 浏览量:1392
时间:2022-01-17 01:51:16 tomcat docker 性能
Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作下载Tomcat8镜像
[root@localhost ~]# docker search tomcat8 NAME DESCRIPTION STARS OFFICIAL AUTOMATED ashince/tomcat8 Tomcat GUI Manager pre-configured docker ima… 5 podbox/tomcat8 2 [OK]
这个tomcat包含了jdk而且启动了可以直接访问,自己启动了8080端口
[root@localhost ~]# docker pull ashince/tomcat8 Using default tag: latest latest: Pulling from ashince/tomcat8 06b22ddb1913: Pulling fs layer 336c28b408ed: Pull complete 1f3e6b8d80c3: Pull complete [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 2622e6cca7eb 2 weeks ago 132MB ashince/tomcat8 latest 02aedead27dd 22 months ago 314MB 启动一个Nginx容器和两个Tomcat容器 [root@localhost ~]# docker run -itd -p 8080:8080 ashince/tomcat8 3e3f2aabe67de7ee3f4b6d62176e21aaa9d2302922845cb08ad37af7146b13c5 [root@localhost ~]# docker run -itd -p 8081:8080 ashince/tomcat8 644d59711c805a626b7c1c219aa018f744098a14dd41e54744d6b13e7ba66a2f [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cca55c4ad919 ashince/tomcat8 "catalina.sh run" About a minute ago Up About a minute 0.0.0.0:8081->8080/tcp unruffled_lalande 08b58d2f41d6 ashince/tomcat8 "catalina.sh run" 7 minutes ago Up 7 minutes 0.0.0.0:8080->8080/tcp relaxed_williamson aeebcb0b40a2 nginx "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp priceless_ardinghelli
#将Nginx容器当中的配置拷贝到本地修改,因为容器当中没有vi vim命令 [root@localhost ~]# docker cp 68d2bdf336ed:/etc/nginx/conf.d/default.conf . [root@localhost ~]# ls anaconda-ks.cfg default.conf index.html [root@localhost ~]# grep -vE "#|^$" default.conf server { listen 80; listen [::]:80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } #两台tomcat的ip地址 [root@localhost ~]# for i in {72e174adc77d,080068dae40a};do docker inspect $i| grep -i ipaddr |tail -n 1;done "IPAddress": "172.17.0.4", "IPAddress": "172.17.0.3", 拷贝静态资源到Nginx目录下做动静分离 ,同时修改配置文件 #将其中一台Tomcat的ROOT目录拷贝到本地,因为做动静分离Nginx需要访问静态资源要在本地 [root@localhost ~]# docker cp 72e174adc77d:/usr/local/tomcat/webapps/ROOT . #拷贝到Nginx发布目录下面 [root@localhost ~]# docker cp ROOT 68d2bdf336ed:/usr/share/nginx/html/ [root@localhost WEB-INF]# docker exec 68d2bdf336ed ls -l /usr/share/nginx/html/ROOT total 184 -rwxrwxrwx 1 root root 7064 Jun 21 2017 RELEASE-NOTES.txt drwxrwxrwx 2 root root 21 Jul 27 2017 WEB-INF -rwxrwxrwx 1 root root 26447 Jun 21 2017 asf-logo-wide.svg -rwxrwxrwx 1 root root 713 Jun 21 2017 bg-button.jpg" alt="tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)" border="0" />
再去访问Nginx 80端口如图所示:
补充知识:Docker 基础操作 容器自启动 删除镜像和删除容器
Docker容器自动重启设置
重启reboot操作系统后,发现docker 服务未启动,容器也未启动,怎么才能重启后自动启动呢
1、docker服务自动重启设置
[root@localhost ~]# systemctl enable docker.service
2、docker容器自动启动设置
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 5a3221f0137b 10 months ago 126MB [root@localhost ~]# docker run -itd -p 80:80 nginx 3e28c4b5c6256c0ba04666751e426987d848b7afeb9c59774d5e9831dc78e5ee [root@localhost ~]# docker run -itd -p 81:80 nginx f0597c725fd6b7f4229aa9ab5de4a3cb29d09097a81dc8f64d1a60d469001379 [root@localhost ~]# docker port f0597c725fd6 80/tcp -> 0.0.0.0:81 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f0597c725fd6 nginx "nginx -g 'daemon of?? 30 seconds ago Up 29 seconds 0.0.0.0:81->80/tcp elastic_allen 3e28c4b5c625 nginx "nginx -g 'daemon of?? 35 seconds ago Up 33 seconds 0.0.0.0:80->80/tcp tender_volhard
3、 docker容器自动启动设置
[root@localhost ~]# docker update --restart=always f0597c725fd6 3e28c4b5c625 f0597c725fd6 3e28c4b5c625 [root@localhost ~]# reboot -h now Connection closed by foreign host. [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f0597c725fd6 nginx "nginx -g 'daemon of?? 13 minutes ago Up 2 minutes 0.0.0.0:81->80/tcp elastic_allen 3e28c4b5c625 nginx "nginx -g 'daemon of?? 13 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp tender_volhard
当一个host中镜像和容器较多,需要重置时可选择删除其中部分或全部的镜像和容器。那么你就需要下面的操作了。
1、删除容器
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 27c5c4d3cf86 nginx "nginx -g 'daemon of?? 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp gracious_nash 61cccfe238a8 nginx "nginx -g 'daemon of?? 2 minutes ago Up 2 minutes 0.0.0.0:81->80/tcp distracted_grothendieck [root@localhost ~]# docker ps -aq 27c5c4d3cf86 61cccfe238a8
1)首先需要停止所有的容器
[root@localhost ~]# docker ps -aq f0597c725fd6 3e28c4b5c625 8855c7777f83 466d2efe3dd9 20ca589b1a10 e5457b41cae6 314d1d01c941 [root@localhost ~]# docker stop $(docker ps -aq) f0597c725fd6 3e28c4b5c625 8855c7777f83 466d2efe3dd9 20ca589b1a10 e5457b41cae6 314d1d01c941 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
[root@localhost ~]# docker rm -f $(docker ps -aq) f0597c725fd6 3e28c4b5c625 8855c7777f83 466d2efe3dd9 20ca589b1a10 e5457b41cae6 314d1d01c941 [root@localhost ~]# docker ps -aq [root@localhost ~]#
2、删除镜像
1)查看host中的镜像
docker images
2)删除指定id的镜像
docker rmi <image id>
3)删除全部的images
docker rmi $(docker images -q)
3、当要删除的iamges和其他的镜像有关联而无法删除时
可通过 -f 参数强制删除
docker rmi -f $(docker images -q)
以上这篇Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
您可能感兴趣
- springboot docker教程(在Idea中使用Docker部署SpringBoot项目的详细步骤)
- docker容器启动执行脚本(在docker容器中使用非root用户执行脚本操作)
- docker部署tomcat(Docker安装Tomcat、MySQL和Redis的步骤详解)
- docker怎么部署node-exporter(Docker搭建部署Node项目的方法步骤)
- docker部署高性能服务器(Docker部署SQL Server 2019 Always On集群的实现)
- 怎么用docker中的mysql连接数据库(解决Docker之mysql容器数据库更改不生效的问题)
- docker安装教程图解(Docker在线、离线安装及其常用命令操作)
- docker redis安装配置(在docker中部署并启动redis的方法)
- docker安装openoffice镜像(docker安装部署 onlyoffice的详细过程)
- docker容器设置网站(docker容器中布置静态网站的实现)
- docker容器解决隔离的技术(Docker+selenium实现自动化健康报备的方法)
- docker镜像重启数据丢失(Docker数据备份恢复实现过程详解)
- centosdocker安装教程(centos下docker安装及springboot远程发布docker的方法)
- centos装docker稳定吗(Centos8无法安装docker问题的解决方法)
- docker启动sqlserver(用docker运行postgreSQL的方法步骤)
- docker-compose启动超时(docker compose idea CreateProcess error=2 系统找不到指定的文件的问题)
- 泪目 这位 刷屏 的英雄,是全椒人的骄傲(泪目这位刷屏)
- 人从众 火炎焱 全椒再现 正月十六走太平 的魅力(人从众火炎焱全椒再现)
- 官宣 全椒籍明星许海峰 奚秀兰 方芳 王璐瑶携手回家 走太平(全椒籍明星许海峰)
- 以前全椒人是怎么过冬的 满满都是回忆(以前全椒人是怎么过冬的)
- NVIDIA显卡份额冲上88 A饭发愁 游戏优化恐没A卡份了(NVIDIA显卡份额冲上88A饭发愁)
- AMD YES A卡还是N卡 A卡和N卡的区别(AMDYESA卡还是N卡)
热门推荐
- python常用的切片操作(使用python PIL库实现简单验证码的去噪方法步骤)
- nginx前后端跨域(Nginx解决前端访问资源跨域问题的方法详解)
- 搭建nuget服务器
- jQuery实现tab切换
- 从零开始学activemq(ActiveMQ:使用Python访问ActiveMQ的方法)
- python变量指向讲解(详解python中init方法和随机数方法)
- vue单元测试实例(Vue-Jest 自动化测试基础配置详解)
- 关于mysql性能优化的描述(Mysql性能优化之索引下推)
- css position详解(深究CSS定位position的常用技法)
- mysql8.0关键字段使用(MySQL 8.0新特性之隐藏字段的深入讲解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9