docker 部署web应用(nginx+tomcat)
一、pull镜像
1、tomcat
docker pull tomcat:8.052
2、nginx
docker pull nginx
二、重构tomcat镜像
1、新建docker_file目录
mkdir /data/docker_file
2、copy 项目war文件到目录下
3、编辑Dockerfile文件
from docker.io/tomcat:8.0.52
MAINTAINER 1823166656@qq.com
COPY portal_home1.war /usr/local/tomcat/webapps
4、重构镜像
docker build -t tomcat:v1 .
三、新建挂载目录(日志、配置文件)
1、新建目录
mkdir /data/nginx/
mkdir /data/tomcat
cd /data/nginx/
mkdir {conf,logs,conf.d}
cd /data/tomcat
mkdir {conf,logs,conf.d}
四、启动tomcat容器
1、启动
docker run -itd -p 8083:8080 --name tomcat1 -v /etc/localtime:/etc/localtime -v /data/tomcat/logs:/usr/local/tomcat/logs tomcat:v1
docker run -itd -p 8084:8080 --name tomcat2 -v /etc/localtime:/etc/localtime -v /data/tomcat/logs:/usr/local/tomcat/logs tomcat:v1
2、访问一下tomcat端口
hostip:8083
五、配置nginx配置文件文件
1、新建配置文件
vi /data/nginx/nginx.conf
upstream pcc {
#server 10.229.255.96:8889 weight=1;
server 192.168.65.147:8083 weight=1;
server 192.168.65.147:8084 weight=1;
}
server {
##listen监听的端口
#语法:listen address:port [ default(deprecated in 0.8.21) | default_server | [ backlog=num | rcvbuf=size | sndbuf=size | accept_filter=filter | deferred | bind | ssl ] ]
#default_server: 如果没有设置这个参数,那么将会以在nginx.conf中找到的第一个server块作为默认server块
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
# }
##location 语法: location [=|~|~*|^~] /uri/ { ... }
# location的使用实例见文末。
#注意:location时有顺序的,当一个请求有可能匹配多个location时,实际上这个请求会被第一个location处理。
location / {
proxy_pass http://pcc;
}
location /portal_home1 {
proxy_pass http://pcc/portal_home1/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
六、启动nginx容器
1、启动
docker run --name haha -itd -p 8082:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx nginx
2、访问nginx
hostip:8082