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

  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/10329192.html
Copyright © 2011-2022 走看看