docker安装服务器并部署项目
前言
docker的基础操作,之前整理总结了,安装tomcat,安装nginx,安装mysql,安装redis等,但是目录部署web项目没有试过,这次整理下
nginx安装和安装相关软件的操作参考:
https://blog.csdn.net/shaoming314/article/details/112602367
https://editor.csdn.net/md/?articleId=111404615
说明
本篇总结的事docker安装nginx和tomcat部署项目,为了演示
nginx就部署一个静态页面
tomcat就部署一个静态页面和一个war包
docker是安装在虚拟机的linux里面
linxu虚拟服务器ip为:192.168.66.71
docker安装nginx
参考网址:
https://blog.csdn.net/suprezheng/article/details/103212288?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161060704416780274183649%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161060704416780274183649&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-103212288.first_rank_v2_pc_rank_v29&utm_term=docker%20%E5%AE%89%E8%A3%85nginx%20%E9%83%A8%E7%BD%B2html%E9%A1%B5%E9%9D%A2
https://blog.csdn.net/ddhsea/article/details/92203713?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161060385516780265434551%252522%25252C%252522scm%252522%25253A%25252220140713.130102334…%252522%25257D&request_id=161060385516780265434551&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-92203713.first_rank_v2_pc_rank_v29&utm_term=docker%20%E5%AE%89%E8%A3%85nginx%20%E9%83%A8%E7%BD%B2%E9%A1%B9%E7%9B%AE
1.拉取nginx镜像
docker pull nginx
2.新建需要挂载的文件夹
演示期间,就把部署项目的文件夹放在这
mkdir /opt/html/
3.运行容器
docker run -di --name=mynginx -p 8080:80 -v /opt/html:/usr/share/nginx/html nginx
4.查看是否启动
docker ps
证明nginx启动成功
5.部署项目(静态页面)
第一种方式(不推荐)
hello.html放到/opt/html目录下
hello.html
<h1>hello docker nginx</h1>
6.访问静态页面
curl:localhost:8090
浏览器访问:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gUU1pZz3-1611128415456)(https://gitee.com/shao_ming314/picture/raw/master/image/8L2%`{EMTH9DUFWO01H$JV1.png)]
测试成功
第二种方式:(推荐)
使用docker cp命令
docker cp hello.html mynginx:/usr/share/nginx/html/
测试访问步骤同方式一
docker安装tomcat
1.拉取tomcat镜像
docker pull tomcat:8.5.40
2.部署静态html页面
- 新建html页面
vim /opt/news/hello.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>测试部署到docker容器tomcat的静态页面</title>
</head>
<body>
<h1>部署到docker里面的tomcat的静态页面成功 </h1>
</body>
</html>
- 启动容器
docker run -di --name=mytomcat -p 8080:8080 -v /opt/news:/usr/local/tomcat/webapps/news 27600aa3d7f1
- 访问测试(关闭防火墙测试)
3.部署web应用(war包)
第一种方式:(不推荐这种方式)
说明:
这种方式需要重新启动tomcat容器
- springboot项目打war包
war包是一个springbooot项目
package com.shaoming.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* @Auther: shaoming
* @Date: 2021/1/17 16:46
* @Description:
*/
@RestController
public class HelloController {
@GetMapping("/")//get请求
public String docker(HttpServletRequest request) {
//打印测试docker查看日志
System.out.println("docker中tomcat部署war包成功");
return "docker中tomcat部署war包成功";
}
}
本地部署访问地址应该是:localhost:hello
页面出现:
docker中tomcat部署war包成功
-
war包放到/opt/目录
-
运行tomcat容器
docker run -di --name=mytomcat2 -p 8081:8080 -v /opt/hello.war:/usr/local/tomcat/webapps/hello.war 27600aa3d7f1
- 测试访问(war包名称为:hello.war)
第二种方式:(推荐这种方式)
使用docker cp命令
docker cp /opt/hello.war mytomcat:/usr/local/tomcat/wepapps/
其余测试访问操作同方式一
4.查看容器运行日志
docker logs -f mytomcat2
不停的访问
http://192.168.66.71:8081/hello/
产生的日志:控制台产生的日志如下图