Docker应用部署tomcat和nginx

一、部署tomcat

1.拉取镜像

root@docker_dev mysql\]# docker pull tomcat

2.部署tomcat

root@docker_dev \~\]# rm -rf \\\~tomcat/ \[root@docker_dev \~\]# mkdir tomcat \[root@docker_dev \~\]# cd tomcat/ \[root@docker_dev tomcat\]# docker run -id --name=c_tomcat \\ \> -p 8080:8080 \\ \> -v $PWD:/user/local/tomcat/webapps \\ \> tomcat

3.验证

#tomcat 的默认 Web 应用根目录(webapps)是存放 Web 应用的地方

在webapps下面创建一个test目录(应用名字),在test下面创建一个html文件

root@docker_dev tomcat\]# docker exec -it c_tomcat /bin/bash #进入容器 root@b4432a89096e:/usr/local/tomcat/webapps/test# pwd /usr/local/tomcat/webapps/test root@b4432a89096e:/usr/local/tomcat/webapps/test# cat index.html \ hello tomcat docker \

二、部署nginx

1.拉取镜像

root@docker_dev mysql\]# docker pull nginx

2.部署nginx

root@docker_dev \~\]# mkdir nginx \[root@docker_dev \~\]# cd nginx/ \[root@docker_dev nginx\]# mkdir conf \[root@docker_dev nginx\]# vim nginx.conf #附件有nginx.conf内容参考 \[root@docker_dev nginx\]# mv nginx.conf conf/ \[root@docker_dev nginx\]# docker run -id --name=c_nginx \\ \> -p 80:80 \\ \> -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \\ \> -v $PWD/logs:/var/log/nginx \\ \> -v $PWD/html:/usr/share/nginx/html \\ \> nginx

3.验证

#nginx 的默认 Web 应用根目录(html)是存放 Web 应用的地方

在html下面创建一个html文件

同tomcat一样测试即可

附录

root@docker_dev conf\]# cat nginx.conf # 运行用户(默认通常为 nobody,可根据实际情况修改) user nginx; # Nginx 进程数,通常设置为 CPU 核心数 worker_processes auto; # 错误日志路径及级别(debug/info/notice/warn/error/crit) error_log /var/log/nginx/error.log warn; # 进程 PID 文件 pid /var/run/nginx.pid; # 工作模式及连接数上限 events { # 每个 worker 进程的最大连接数 worker_connections 1024; # 支持多路复用 I/O 模型(Linux 推荐 epoll,FreeBSD 推荐 kqueue) use epoll; } # HTTP 核心配置 http { # 引入 MIME 类型定义(Nginx 内置) include /etc/nginx/mime.types; default_type application/octet-stream; # 日志格式定义(main 为自定义名称,可在虚拟主机中引用) log_format main '$remote_addr - $remote_user \[$time_local\] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # 访问日志路径(引用上面定义的 main 格式) access_log /var/log/nginx/access.log main; # 开启高效文件传输模式 sendfile on; # 防止网络阻塞(配合 sendfile 使用) tcp_nopush on; # 减少网络报文数量 tcp_nodelay on; # 连接超时时间(秒) keepalive_timeout 65; # 开启 gzip 压缩(减少传输数据量) gzip on; # 压缩级别(1-9,级别越高压缩率越高,CPU 消耗越大) gzip_comp_level 2; # 压缩的文件类型 gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # 引入虚拟主机配置(通常将每个站点配置放在 conf.d 目录下) include /etc/nginx/conf.d/\*.conf; # 默认虚拟主机(当未匹配到其他主机时使用) server { # 监听端口(HTTP 默认为 80) listen 80; # 服务器名称(可填写域名,多个域名用空格分隔) server_name localhost; # 字符集设置 charset utf-8; # 根目录(网站文件存放路径) root /usr/share/nginx/html; # 默认索引文件(优先级从左到右) index index.html index.htm index.php; # 访问根路径的处理 location / { # 尝试查找请求的文件,不存在则返回 404 try_files $uri $uri/ =404; } # 处理 404 错误(可自定义错误页面) error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # 处理 50x 系列错误(500/502/503/504) error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } }

相关推荐
苹果醋34 小时前
JAVA面试汇总(二)多线程(五)
运维·vue.js·spring boot·nginx·课程设计
Jenwein6 小时前
Linux中使用docker的网络问题
后端·docker
java_logo7 小时前
Docker 部署 Debian 全流程教程
linux·运维·docker·容器·debian
❀͜͡傀儡师7 小时前
基于 docker compose 进行部署PandaWiki
运维·docker·容器
Xiaoweidumpb9 小时前
Linux Docker docker-compose 部署python脚本
linux·python·docker
Broken Arrows9 小时前
解决同一个宿主机的两个容器无法端口互通报错“No route to host“的问题记录
运维·学习·docker
路漫漫其修远兮sjw11 小时前
llamafactory拉取并启动(本地虚拟机)
docker·模型微调·1024程序员节·模型调用
安卓开发者11 小时前
Docker与Tomcat:一键部署Java Web应用的完美组合
docker
yaoxtao12 小时前
LlamaFactory的docker-compose安装
docker·ai