Docker之tomcat和nginx的部署
1.镜像挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。创建容器 添加-v参数 后边为 宿主机目录:容器目录,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7
如果你共享的是多级的目录,可能会出现权限不足的提示。
这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题
2.tomcat的部署
(1)拉取镜像
docker pull tomcat:7-jre7
(2)创建容器
创建容器 -p表示地址映射
docker run -di --name=mytomcat -p 9000:8080
-v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7
为了方便项目的部署,我们将wepapps目录映射到linux服务器的目录下。
为了方便测试,我们将一个war包放入该虚拟机的/usr/local/tomcat/webapps目录下
然后访问你的虚拟机ip地址:9090/项目名
这里我的虚拟机ip为192.168.142.129,引入的项目为CAS单点登陆的开源项目
3. Nginx部署
(1)拉取镜像
docker pull nginx
(2)创建Nginx容器
docker run -di --name=mynginx -p 80:80 nginx
(3)静态文件拷贝
我们在 创建nginx容器的时候,并没有使用镜像挂载。此时我们想要将我们项目的静态页面放到nginx中让我们访问。
先进入nginx容器中
docker exec -it mynginx /bin/bash
查看nginx的配置文件
cat /etc/nginx/nginx.conf
内容如下:
http {include /etc/nginx/mime.types;default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
进入conf.d文件夹下查看default.conf
cat /etc/nginx/conf.d/default.conf
内容如下:
server {listen 80;server_name localhost;
#charset koi8-r;#access_log /var/log/nginx/host.access.log main;
location / {root /usr/share/nginx/html;index index.html index.htm;}
#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 /usr/share/nginx/html;}
可以看到html在/usr/share/nginx/html目录下
我们将准备好的静态文件夹拷贝到该目录下
docker cp html mynginx:/usr/share/nginx/
然后在浏览器上就可以访问了
Docker之tomcat和nginx的部署相关推荐
- docker-compose创建nginx并部署ssl证书,阿里云ssl证书
阿里云有免费证书,地址:数字证书管理服务管理控制台 - 概览 (aliyun.com) 免费证书好像要达到什么条件才有,一般域名多肯定有的. 官方基于nginx的教程:在Nginx或Tengine服务 ...
- docker 发布tomcat项目_Docker部署java项目[tomcat环境]
公司的一个java项目,然后这是组长给的一个任务,部署到docker中. 部署更不用说啦,肯定要写Dockerfile,不多想,先下载我需要的环境包. 1. JDK [JDK下载地址](Java SE ...
- linux docker nginx,CentOS7上Docker简单安装及nginx部署
安装 如果原来安装过docker,先把原来的删掉,再安装(如果是首次安装docker忽略第一步,直接在第二步看起) 1.1先查看下已经安装了那些docker yum list installed | ...
- 在阿里云ECS上安装Docker、Tomcat并部署官网(无后端交互)
在阿里云上的ECS服务器配置 ECS 1核1G,1M带宽 Ubantu 16 Docker Tomcat 9 有公网IP,配置安全策略,没有购买RDS,购买完成后,即设置了账号.密码,远程连接工具用的 ...
- 自动/持续部署Docker 的tomcat web项目(二)
自动/持续部署Docker 的tomcat web项目(二) 安装jenkins Jenkins环境配置 创建Jenkins任务 源码拉取 maven构建 SSH连接 一键构建 脚本自动/持续部署 续 ...
- 自动/持续部署Docker 的tomcat web项目(一)
自动/持续部署Docker 的tomcat web项目 docker安装tomcat 拉取Tomcat镜像 查看镜像 启动tomcat镜像 参数说明 查看正在运行的容器 部署web项目 编辑Docke ...
- 架构系列三:使用Keepalived+Nginx+tomcat实现集群部署
架构系列三:使用Keepalived+Nginx+tomcat实现集群部署 介绍了通过Nginx配置Tomct集群,当其中一个Tomcat服务停止后,Nginx可自动识别并选择另一个服务器响应用户请求 ...
- 架构系列二:使用Nginx+tomcat实现集群部署
架构系列二:使用Nginx+tomcat实现集群部署 一.环境介绍 VM1:Ubuntu-S100 IP:192.168.130.128 部署Tomcat应用及Nginx VM2:Ubuntu-S ...
- tomcat vue 不用 前后端_部署前后端分离项目(后端 tomcat 前端 nginx)
关键词 spring-boot gradle 腾讯云 tomcat nginx vue 前后端分离 代理 前言 因为种种原因,把后端部署在 tomcat,前端项目部署在 nginx. Tomcat t ...
最新文章
- Swift溢出运算符
- GDI+中发生一般性错误
- 配置启动MySQL的Docker容器
- IDEA将项目上传至码云/GitHub托管
- Server 2008 R2 AD RMS完整部署:一、用户创建篇
- Ubuntu 安装 cuda 时卡在登录界面(login loop)的解决方案之一
- Linux shell 字符串转数字进行运算符操作
- MATLAB PDE工具箱电磁场仿真平行电容板及电偶极子详解
- 数据库实验8 数据库安全性(用户与权限管理)实验
- OpenCV(二)OpenCV的介绍和发展
- C语言进制转换以及原补反码位运算介绍
- 攻击者利用7号信令(SS7)中的漏洞从德国银行偷取钱财
- Mediastream2 用法介绍及简明实例分析
- 食堂点餐小程序,智慧食堂小程序,食堂预约点餐小程序毕设作品
- 【技术贴】ppt2003更换图片|更换带有动作特效的图片|替换ppt图片
- canvas图片处理
- C语言预处理相关讲解
- 如何化解总想快速崛起导致的焦虑
- 计算机视觉——特征检测
- 删除下拉框只找23火星软件_下拉词平台只找23火星软件 下拉词排名找火星下拉...
热门文章
- 近世代数--整环上的整除理论--主理想整环中最大公因子的存在表示定理
- 编写TA链接静态库的方法
- [私]-optee的同步方法
- oracle no space left,ORA-09817/Linux-x86_64 Error: 28: No space left on device/ORA-01075
- 安卓java增加属性_如何使用Java读取Android属性
- 数据传输示例 Moves.asm
- 向函数传递一维数组和已知大小的二维数组
- Windows事件等待学习笔记(一)—— 临界区自旋锁
- 5、数据库设计的三大范式
- 第一章 动态规划【未完结】