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; } } }

相关推荐
fetasty3 小时前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪18 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
闲云一鹤21 小时前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p4 天前
docker学习: 1. docker基本使用
docker
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器