zoukankan      html  css  js  c++  java
  • docker构建tomcat镜像

    下载centos镜像

    # docker pull daocloud.io/centos:7

    [root@localhost ~]# docker pull daocloud.io/centos:7
    7: Pulling from centos
    a02a4930cb5d: Pull complete 
    Digest: sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0
    Status: Downloaded newer image for daocloud.io/centos:7
    [root@localhost ~]# 
    [root@localhost ~]# docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    daocloud.io/centos   7                   1e1148e4cc2c        7 weeks ago         202MB

     创建一个镜像

    # docker tag daocloud.io/centos:7 centos

    [root@localhost ~]# docker tag daocloud.io/centos:7 centos
    [root@localhost ~]# 
    [root@localhost ~]# docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    daocloud.io/centos   7                   1e1148e4cc2c        7 weeks ago         202MB
    centos               latest              1e1148e4cc2c        7 weeks ago         202MB

     删除源镜像

    # docker rmi daocloud.io/centos:7

    [root@localhost ~]# docker rmi daocloud.io/centos:7
    Untagged: daocloud.io/centos:7
    Untagged: daocloud.io/centos@sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0
    [root@localhost ~]# 
    [root@localhost ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              1e1148e4cc2c        7 weeks ago         202MB
    [root@localhost ~]# 

    创建一个/root/software/目录,并把安装包放在该目录下

    [root@localhost ~]# mkdir software
    [root@localhost ~]# ls
    anaconda-ks.cfg              jdk-7u67-linux-x64.tar.gz  software
    apache-tomcat-7.0.55.tar.gz  kjxy.war
    [root@localhost ~]# 
    [root@localhost ~]# cp jdk-7u67-linux-x64.tar.gz apache-tomcat-7.0.55.tar.gz software/
    [root@localhost ~]# 
    [root@localhost ~]# cd software/
    [root@localhost software]# 
    [root@localhost software]# ls
    apache-tomcat-7.0.55.tar.gz  jdk-7u67-linux-x64.tar.gz

    启动容器

    # docker run -it -v /root/software/:/mnt/software/ centos /bin/bash

    [root@localhost ~]# docker run -it -v /root/software/:/mnt/software/ centos /bin/bash
    [root@d8222810d886 /]#
    [root@d8222810d886 /]# cd /mnt/software/
    [root@d8222810d886 software]#
    [root@d8222810d886 software]# ls
    apache-tomcat-7.0.55.tar.gz jdk-7u67-linux-x64.tar.gz

    为了搭建 Java Web 运行环境,需要安装 JDK 与 Tomcat,下面的过程均在容器内部进行。

    安装JDK

    创建jdk存储目录

    # mkdir /usr/jdk64/

    解压jdk到存储目录

    # tar -zxf /mnt/software/jdk-7u67-linux-x64.tar.gz -C /usr/jdk64/ 

    操作过程如下:

    [root@d8222810d886 ~]# mkdir /usr/jdk64/
    [root@d8222810d886 ~]# 
    [root@d8222810d886 ~]# tar -zxf /mnt/software/jdk-7u67-linux-x64.tar.gz -C /usr/jdk64/ 
    [root@d8222810d886 ~]# 
    [root@d8222810d886 ~]# ls /usr/jdk64/
    jdk1.7.0_67

    安装tomcat

    解压tomcat到存储目录

    # tar -zxf /mnt/software/apache-tomcat-7.0.55.tar.gz -C /home/

    [root@d8222810d886 ~]# tar -zxf /mnt/software/apache-tomcat-7.0.55.tar.gz -C /home/
    [root@d8222810d886 ~]# 
    [root@d8222810d886 ~]# ls /home/
    apache-tomcat-7.0.55
    [
    root@d8222810d886~]# mv /home/apache-tomcat-7.0.55/ /home/tomcat7
    [root@
    d8222810d886~]# ls /home/
    tomcat7

    编写运行脚本

    编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat。

    # vi /root/run.sh

    [root@d8222810d886 ~]# vi run.sh 
    [root@d8222810d886 ~]# 
    [root@d8222810d886 ~]# cat run.sh 
    #!/bin/bash export JAVA_HOME=
    /usr/jdk64/jdk1.7.0_67 export PATH=$JAVA_HOME/bin:$PATH sh /home/tomcat7/bin/catalina.sh run

    为运行脚本添加执行权限

    # chmod 777 run.sh

    [root@d8222810d886 ~]# chmod 777 run.sh 
    [root@d8222810d886 ~]# 
    [root@d8222810d886 ~]# ll
    total 8
    -rw-------. 1 root root 3415 Dec  5 01:37 anaconda-ks.cfg
    -rwxrwxrwx. 1 root root  124 Jan 29 14:17 run.sh

    给tomcat运行脚本添加权限

    [root@d8222810d886 ~]# chmod +x /home/tomcat7/bin/*.sh
    [root@d8222810d886 ~]# 
    [root@d8222810d886 ~]# ll /home/apache-tomcat-7.0.55/bin/*.sh
    -rwxr-xr-x. 1 root root 20779 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/catalina.sh
    -rwxr-xr-x. 1 root root  1922 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/configtest.sh
    -rwxr-xr-x. 1 root root  7888 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/daemon.sh
    -rwxr-xr-x. 1 root root  1965 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/digest.sh
    -rwxr-xr-x. 1 root root  3459 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/setclasspath.sh
    -rwxr-xr-x. 1 root root  1902 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/shutdown.sh
    -rwxr-xr-x. 1 root root  1904 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/startup.sh
    -rwxr-xr-x. 1 root root  5024 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/tool-wrapper.sh
    -rwxr-xr-x. 1 root root  1908 Jul 18  2014 /home/apache-tomcat-7.0.55/bin/version.sh

    退出容器

    [root@d8222810d886 ~]# exit
    exit
    [root@localhost ~]# 
    [root@localhost ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    d8222810d886        centos              "/bin/bash"         16 minutes ago      Exited (0) 5 seconds ago                       zealous_galileo

    创建tomcat镜像

    根据某个“容器 ID”来创建一个新的“镜像”

    # docker commit d8222810d886 djltomcat:latest

    [root@localhost ~]# docker commit d8222810d886 djltomcat:latest
    sha256:559211e0b347204543772eddb94c5b73810a8d2746fb30d9a24c99e33b89b3e9
    [root@localhost ~]# 
    [root@localhost ~]# docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    djltomcat            latest              559211e0b347        22 seconds ago      508MB
    centos               latest              1e1148e4cc2c        7 weeks ago         202MB

    启动tomcat容器

    首先,新建/root/webapps/目录,把war包拷贝到该目录

    # mkdir webapps

    [root@localhost ~]# ls
    anaconda-ks.cfg  apache-tomcat-7.0.55.tar.gz  jdk-7u67-linux-x64.tar.gz  kjxy.war  software
    [root@localhost ~]# 
    [root@localhost ~]# mkdir webapps
    [root@localhost ~]# 
    [root@localhost ~]# cp kjxy.war webapps/
    [root@localhost ~]# 
    [root@localhost ~]# ls webapps/
    kjxy.war

    编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat

    # docker run -d -p 58080:8080 -v /root/webapps/:/home/tomcat7/webapps/ --name test djltomcat:latest /root/run.sh

    [root@localhost ~]# docker run -d -p 58080:8080 -v /root/webapps/:/home/tomcat7/webapps/ --name test djltomcat:latest /root/run.sh
    87f68c345d3bd42bd4a87de96430e7dfa7f047688b66f0ea52d1e1778a4a842b
    [root@localhost ~]# 
    [root@localhost ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
    87f68c345d3b        djltomcat:latest    "/root/run.sh"      20 seconds ago      Up 18 seconds       0.0.0.0:58080->8080/tcp   test
    [root@localhost ~]# 
    [root@localhost ~]# cd webapps
    [root@localhost webapps]# 
    [root@localhost webapps]# ls
    kjxy  kjxy.war

     在浏览器中,输入宿主IP和端口号,即可访问 Tomcat:

    参考博客:

    使用Docker搭建Tomcat运行环境

    https://www.cnblogs.com/areyouready/p/8949991.html

    end

  • 相关阅读:
    【iOS】打印方法名
    【iOS】设备系统版本
    【iOS】receiver type *** for instance message is a forward declaration
    【iOS】获取应用程序本地路径
    hash算法
    redis文档
    Couchbase
    nodejs多核处理
    基于nodejs的消息中心
    nodejs两个例子
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/10329192.html
Copyright © 2011-2022 走看看