1、选择基础镜像

   docker pull tomcat:7.0-jre8

2、生成HTTPS证书

  keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

  root@HX-StrMedia:~/ssl# ls
  tomcat.keystore

3、启动tomcat容器并导入证书

  root@7632c9d5c82b:/usr/local/tomcat# ls /tmp/
  tomcat.keystore
  root@7632c9d5c82b:/usr/local/tomcat# mkdir keys
  root@7632c9d5c82b:/usr/local/tomcat# cp /tmp/tomcat.keystore keys/
  root@7632c9d5c82b:/usr/local/tomcat# ls keys/
  tomcat.keystore

  修改配置文件如下:

    <Connector port="8443" protocol="HTTP/1.1"
    maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="/usr/local/tomcat/keys/tomcat.keystore"
    keystorePass="dukuan" />

  也可配置8080 端口

    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="/usr/local/tomcat/keys/tomcat.keystore"
    keystorePass="dukuan"
    />

4、Commit

  不退出容器在宿主机commit

  root@HX-StrMedia:~/ssl# docker ps -a
  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  d3a3c7964a89 tomcat:7.0-jre8 "bash" 28 seconds ago Up 26 seconds 8080/tcp determined_mahavira

  root@HX-StrMedia:~/ssl# docker commit d3a3c7964a89 tomcat:https

  root@HX-StrMedia:~/ssl# docker images;
  REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  tomcat https 5308378959ab About a minute ago 560.8 MB

5、启动并访问

  root@HX-StrMedia:~/ssl# docker run --rm -ti -p 9099:8080 tomcat:https

  root@HX-StrMedia:~/ssl# docker ps
  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  532a4ef7efcc tomcat:https "bash" 29 seconds ago Up 29 seconds 0.0.0.0:9099->8080/tcp thirsty_bhaskara

  访问宿主机9099端口即可

6、将web源码部署到Tomcat镜像中

  6.1 静态导入

    创建Dockerfile如下,将websrc下的源码复制到webapps下

      # cat Dockerfile
      # This is Dockerfile
      # Version 1.0
      # Author is Dukuan

      # 第一行必须指定基于的基础镜像
      FROM centos

      # 维护者信息
      MAINTAINER Du Kuan

      FROM tomcat:https

      COPY ./websrc /usr/local/tomcat/webapps/myproj/  

      # docker build -t myweb:v1 .
      Sending build context to Docker daemon 3.072 kB
      Step 1 : FROM centos
      ---> d4350798c2ee
      Step 2 : MAINTAINER Du Kuan
      ---> Running in cd053280ea4f
      ---> 687ac7bd642f
      Removing intermediate container cd053280ea4f
      Step 3 : FROM tomcat:https
      ---> 71400c2da356
      Step 4 : COPY ./websrc /usr/local/tomcat/webapps/myproj/
      ---> f704dc9f0466
      Removing intermediate container 4fd43be2f210
      Successfully built f704dc9f0466

      # docker images
      REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
      myweb v1 f704dc9f0466 7 minutes ago 560.8 MB
      tomcat https 71400c2da356 4 hours ago 560.8 MB

  6.2 静态挂载

    创建Dockerfile

    # This is Dockerfile
    # Version 1.0
    # Author is Dukuan

    # 第一行必须指定基于的基础镜像
    FROM tomcat:https

    # 维护者信息
    MAINTAINER Du Kuan

    RUN mkdir -p /usr/local/tomcat/webapps/myproj

    # 表示在镜像中创建一个挂载点
    VOLUME /usr/local/tomcat/webapps/myproj

    创建镜像

    docker build -t myweb:v2 .

    启动镜像

    docker run -ti -v $(pwd)/../websrc:/usr/local/tomcat/webapps/myproj myweb:v2

    主机修改文件

    echo "This is page" >> index.jsp

    查看容器是否修改  

    root@4899f6c92448:/usr/local/tomcat# cat webapps/myproj/index.jsp
    Test Page
    This is page

    

Docker(十一):Docker实战部署HTTPS的Tomcat站点的更多相关文章

  1. Docker(十一)-Docker commit创建镜像

    创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 修改已有的镜像 查看已有的镜像: $ sudo docker images REPOSITO ...

  2. 【原创】运维基础之Docker(2)通过docker部署zookeeper nginx tomcat redis kibana/elasticsearch/logstash mysql kafka mesos/marathon

    通过docker可以从头开始构建集群,也可以将现有集群(配置以及数据)平滑的迁移到docker部署: 1 docker部署zookeeper # usermod -G docker zookeeper ...

  3. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  4. Docker实战之创建一个tomcat容器

    一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic ...

  5. docker实战部署Javaweb项目

    一.部署环境说明 docker服务版本:version 18.09.0nginx服务版本:version: nginx/1.15.10redis服务版本:version: redis/5.0.3tom ...

  6. SpringCloudAlibaba微服务docker容器打包和部署示例实战

    概述 我们使用前面<SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(中)>的两个微服务示例,分别是库存微服务和订单微服务,基于Nacos注册中心和配置 ...

  7. Docker中Nginx,部署Tomcat,部署es + kibana,Docker的可视化,Commit镜像

    docker安装使用Nginx # 搜索信息 docker search nginx # 下载镜像 docker pull nginx # 运行测试 # --name给容器命名 # -p 宿主机端口: ...

  8. Docker swarm 实战-部署wordpress

    Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo 6imq8da3vcwvj2n499k ...

  9. (四) Docker 使用Let's Encrypt 部署 HTTPS

    参考并感谢 周花卷 https://www.jianshu.com/p/5afc6bbeb28c 下载letsencrypt镜像(不带tag标签则表示下载latest版本) docker pull q ...

随机推荐

  1. 十五、Hadoop学习笔记————Zookeeper的环境搭建

    linux中/opt一般用来存放应用/var目录一般用来存放日志 sample为样例文件,复制一份zoo.cfg文件 配置zoo文件,id为服务器id(整数),host为服务器的ip地址,第一个por ...

  2. 七、Hadoop学习笔记————调优之Hadoop参数调优

    dfs.datanode.handler.count默认为3,大集群可以调整为10 传统MapReduce和yarn对比 如果服务器物理内存128G,则容器内存建议为100比较合理 配置总量时考虑系统 ...

  3. 最强离线安装MySQL_8.0.2方法

    最强离线安装MySQL_8.0.2方法,一次就能安装成功. 按照此方式,离线安装MySQL五分钟都花不到,节省了大量的宝贵时间. 前戏,假设你已经从MySQL官网中获取了下面这个压缩包: 解压之后变成 ...

  4. B2B电商系统开发建设的价格费用取决于哪些要素

    B2B电子商务系统平台建设开发怎么做?如何搭建一个电商系统网站平台?相信我们的企业商家在搭建电子商务系统的时候都会进行前期的系统策划,但是对于电子商务系统的构建绝大多数人都有一个误区,那就是对于电子商 ...

  5. JavaScript参考

    要查看英语原文,请勾选"英语"复选框.也可将鼠标指针移到文本上,在弹出窗口中显示英语原文. 翻译 英语 JavaScript 语言参考 JavaScript 是一种可嵌入网页和其他 ...

  6. Python面向对象解析

    面向对象概述 什么是面向对象:从简单来说,如果程序中的所有功能都是用 类 和 对象 来实现,那么就是面向对象编程了. 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无 ...

  7. 基于iTextSharp的PDF文档操作

    公司是跨境电商,需要和各种物流打交道,需要把东西交给物流,让他们发到世界各地.其中需要物流公司提供一个运单号,来追踪货物到达哪里?! 最近在和DHL物流公司(应该是个大公司)对接,取运单号的方式是调用 ...

  8. bootstrap validator 使用 带代码

    如何使用bootstrapVlidator插件? 下载bootstrapVlidator插件 在需要使用的页面引入bootstrapVlidator的js文件和css文件 如: 注: 在此基础之前必须 ...

  9. AngularJS 控制器通信

    指令与控制器之间通信,无非是以下几种方法: 基于scope继承的方式 基于event传播的方式 service的方式 基于scope继承的方式 最简单的让控制器之间进行通信的方法是通过scope的继承 ...

  10. Eureka学习例子

    Eureka学习 Spring Cloud下有很多工程: Spring Cloud Config:依靠git仓库实现的中心化配置管理.配置资源可以映射到Spring的不同开发环境中,但是也可以使用在非 ...