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的部署相关推荐

  1. docker-compose创建nginx并部署ssl证书,阿里云ssl证书

    阿里云有免费证书,地址:数字证书管理服务管理控制台 - 概览 (aliyun.com) 免费证书好像要达到什么条件才有,一般域名多肯定有的. 官方基于nginx的教程:在Nginx或Tengine服务 ...

  2. docker 发布tomcat项目_Docker部署java项目[tomcat环境]

    公司的一个java项目,然后这是组长给的一个任务,部署到docker中. 部署更不用说啦,肯定要写Dockerfile,不多想,先下载我需要的环境包. 1. JDK [JDK下载地址](Java SE ...

  3. linux docker nginx,CentOS7上Docker简单安装及nginx部署

    安装 如果原来安装过docker,先把原来的删掉,再安装(如果是首次安装docker忽略第一步,直接在第二步看起) 1.1先查看下已经安装了那些docker yum list installed | ...

  4. 在阿里云ECS上安装Docker、Tomcat并部署官网(无后端交互)

    在阿里云上的ECS服务器配置 ECS 1核1G,1M带宽 Ubantu 16 Docker Tomcat 9 有公网IP,配置安全策略,没有购买RDS,购买完成后,即设置了账号.密码,远程连接工具用的 ...

  5. 自动/持续部署Docker 的tomcat web项目(二)

    自动/持续部署Docker 的tomcat web项目(二) 安装jenkins Jenkins环境配置 创建Jenkins任务 源码拉取 maven构建 SSH连接 一键构建 脚本自动/持续部署 续 ...

  6. 自动/持续部署Docker 的tomcat web项目(一)

    自动/持续部署Docker 的tomcat web项目 docker安装tomcat 拉取Tomcat镜像 查看镜像 启动tomcat镜像 参数说明 查看正在运行的容器 部署web项目 编辑Docke ...

  7. 架构系列三:使用Keepalived+Nginx+tomcat实现集群部署

    架构系列三:使用Keepalived+Nginx+tomcat实现集群部署 介绍了通过Nginx配置Tomct集群,当其中一个Tomcat服务停止后,Nginx可自动识别并选择另一个服务器响应用户请求 ...

  8. 架构系列二:使用Nginx+tomcat实现集群部署

    架构系列二:使用Nginx+tomcat实现集群部署 一.环境介绍  VM1:Ubuntu-S100 IP:192.168.130.128 部署Tomcat应用及Nginx  VM2:Ubuntu-S ...

  9. tomcat vue 不用 前后端_部署前后端分离项目(后端 tomcat 前端 nginx)

    关键词 spring-boot gradle 腾讯云 tomcat nginx vue 前后端分离 代理 前言 因为种种原因,把后端部署在 tomcat,前端项目部署在 nginx. Tomcat t ...

最新文章

  1. Swift溢出运算符
  2. GDI+中发生一般性错误
  3. 配置启动MySQL的Docker容器
  4. IDEA将项目上传至码云/GitHub托管
  5. Server 2008 R2 AD RMS完整部署:一、用户创建篇
  6. Ubuntu 安装 cuda 时卡在登录界面(login loop)的解决方案之一
  7. Linux shell 字符串转数字进行运算符操作
  8. MATLAB PDE工具箱电磁场仿真平行电容板及电偶极子详解
  9. 数据库实验8 数据库安全性(用户与权限管理)实验
  10. OpenCV(二)OpenCV的介绍和发展
  11. C语言进制转换以及原补反码位运算介绍
  12. 攻击者利用7号信令(SS7)中的漏洞从德国银行偷取钱财
  13. Mediastream2 用法介绍及简明实例分析
  14. 食堂点餐小程序,智慧食堂小程序,食堂预约点餐小程序毕设作品
  15. 【技术贴】ppt2003更换图片|更换带有动作特效的图片|替换ppt图片
  16. canvas图片处理
  17. C语言预处理相关讲解
  18. 如何化解总想快速崛起导致的焦虑
  19. 计算机视觉——特征检测
  20. 删除下拉框只找23火星软件_下拉词平台只找23火星软件 下拉词排名找火星下拉...

热门文章

  1. 近世代数--整环上的整除理论--主理想整环中最大公因子的存在表示定理
  2. 编写TA链接静态库的方法
  3. [私]-optee的同步方法
  4. oracle no space left,ORA-09817/Linux-x86_64 Error: 28: No space left on device/ORA-01075
  5. 安卓java增加属性_如何使用Java读取Android属性
  6. 数据传输示例 Moves.asm
  7. 向函数传递一维数组和已知大小的二维数组
  8. Windows事件等待学习笔记(一)—— 临界区自旋锁
  9. 5、数据库设计的三大范式
  10. 第一章 动态规划【未完结】