• Docker制作tomcat镜像,发布镜像


    1、准备镜像文件 tomcat压缩包,jdk的压缩包!

    2、编写dockerfile文件,官方命名Dockerfile,build会自动寻找这个文件,就不需要 -f 指定了!

    FROM centos
    MAINTAINER ysl<493487822@qq.com>
    
    COPY readme.txt /usr/local/readme.txt
    
    ADD jdk-8u251-linux-x64.tar.gz /usr/local/
    ADD apache-tomcat-9.0.35-src.tar.gz /usr/local/
    
    RUN yum -y install vim
    
    ENV MYPATH /usr/local
    WORKDIR $MYPATH
    
    ENV JAVA_HOME /usr/local/jdk1.8.0_251
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.35
    ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.35
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/bin
    
    EXPOSE 8080
    
    CMD /usr/local/apache-tomcat-9.0.35/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.35/bin/logs/catalina.out
    

    ​ 3、构建镜像

    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker build -t diytomcat .
    Sending build context to Docker daemon    201MB
    Step 1/15 : FROM centos
     ---> 470671670cac
    Step 2/15 : MAINTAINER ysl<493487822@qq.com>
     ---> Using cache
     ---> fd5e9920907d
    Step 3/15 : COPY readme.txt /usr/local/readme.txt
     ---> c27c87c9a7b8
    Step 4/15 : ADD jdk-8u251-linux-x64.tar.gz /usr/local/
     ---> 195d5de3367b
    Step 5/15 : ADD apache-tomcat-9.0.35-src.tar.gz /usr/local/
     ---> a5d8a5369b1b
    Step 6/15 : RUN yum -y install vim
     ---> Running in dabc304efd48
    CentOS-8 - AppStream                            857 kB/s | 7.0 MB     00:08    
    CentOS-8 - Base                                 701 kB/s | 2.2 MB     00:03    
    CentOS-8 - Extras                               2.6 kB/s | 5.9 kB     00:02    
    Dependencies resolved.
    ================================================================================
     Package             Arch        Version                   Repository      Size
    ================================================================================
    Installing:
     vim-enhanced        x86_64      2:8.0.1763-13.el8         AppStream      1.4 M
    Installing dependencies:
     gpm-libs            x86_64      1.20.7-15.el8             AppStream       39 k
     vim-common          x86_64      2:8.0.1763-13.el8         AppStream      6.3 M
     vim-filesystem      noarch      2:8.0.1763-13.el8         AppStream       48 k
     which               x86_64      2.21-10.el8               BaseOS          49 k
    
    Transaction Summary
    ================================================================================
    Install  5 Packages
    
    Total download size: 7.8 M
    Installed size: 31 M
    Downloading Packages:
    (1/5): gpm-libs-1.20.7-15.el8.x86_64.rpm        281 kB/s |  39 kB     00:00    
    (2/5): vim-filesystem-8.0.1763-13.el8.noarch.rp 454 kB/s |  48 kB     00:00    
    (3/5): which-2.21-10.el8.x86_64.rpm             374 kB/s |  49 kB     00:00    
    (4/5): vim-enhanced-8.0.1763-13.el8.x86_64.rpm  829 kB/s | 1.4 MB     00:01    
    (5/5): vim-common-8.0.1763-13.el8.x86_64.rpm    834 kB/s | 6.3 MB     00:07    
    --------------------------------------------------------------------------------
    Total                                           904 kB/s | 7.8 MB     00:08     
    warning: /var/cache/dnf/AppStream-02e86d1c976ab532/packages/gpm-libs-1.20.7-15.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
    CentOS-8 - AppStream                            1.6 MB/s | 1.6 kB     00:00    
    Importing GPG key 0x8483C65D:
     Userid     : "CentOS (CentOS Official Signing Key) <security@centos.org>"
     Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
     From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
    Key imported successfully
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                        1/1 
      Installing       : which-2.21-10.el8.x86_64                               1/5 
      Installing       : vim-filesystem-2:8.0.1763-13.el8.noarch                2/5 
      Installing       : vim-common-2:8.0.1763-13.el8.x86_64                    3/5 
      Installing       : gpm-libs-1.20.7-15.el8.x86_64                          4/5 
      Running scriptlet: gpm-libs-1.20.7-15.el8.x86_64                          4/5 
      Installing       : vim-enhanced-2:8.0.1763-13.el8.x86_64                  5/5 
      Running scriptlet: vim-enhanced-2:8.0.1763-13.el8.x86_64                  5/5 
      Running scriptlet: vim-common-2:8.0.1763-13.el8.x86_64                    5/5 
      Verifying        : gpm-libs-1.20.7-15.el8.x86_64                          1/5 
      Verifying        : vim-common-2:8.0.1763-13.el8.x86_64                    2/5 
      Verifying        : vim-enhanced-2:8.0.1763-13.el8.x86_64                  3/5 
      Verifying        : vim-filesystem-2:8.0.1763-13.el8.noarch                4/5 
      Verifying        : which-2.21-10.el8.x86_64                               5/5 
    
    Installed:
      vim-enhanced-2:8.0.1763-13.el8.x86_64 gpm-libs-1.20.7-15.el8.x86_64          
      vim-common-2:8.0.1763-13.el8.x86_64   vim-filesystem-2:8.0.1763-13.el8.noarch
      which-2.21-10.el8.x86_64             
    
    Complete!
    Removing intermediate container dabc304efd48
     ---> a23f2b7b0dfd
    Step 7/15 : ENV MYPATH /usr/local
     ---> Running in c6815f1ae0c6
    Removing intermediate container c6815f1ae0c6
     ---> 4898e33f137d
    Step 8/15 : WORKDIR $MYPATH
     ---> Running in f41807a4dcd7
    Removing intermediate container f41807a4dcd7
     ---> 0e0faec6f3b0
    Step 9/15 : ENV JAVA_HOME /usr/local/jdk1.8.0_251
     ---> Running in 99ef8c19aec6
    Removing intermediate container 99ef8c19aec6
     ---> fafd91a43951
    Step 10/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
     ---> Running in fd23d9d09d63
    Removing intermediate container fd23d9d09d63
     ---> 7075d497243c
    Step 11/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.35
     ---> Running in 503f5c54948f
    Removing intermediate container 503f5c54948f
     ---> ba6ad879d8c1
    Step 12/15 : ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.35
     ---> Running in 106fb94d57a1
    Removing intermediate container 106fb94d57a1
     ---> 250479e1722e
    Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/bin
     ---> Running in 3b201dfb577d
    Removing intermediate container 3b201dfb577d
     ---> 7a78f8c1cd8f
    Step 14/15 : EXPOSE 8080
     ---> Running in eab87c07a71d
    Removing intermediate container eab87c07a71d
     ---> ce615e112316
    Step 15/15 : CMD /usr/local/apache-tomcat-9.0.35/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.35/bin/logs/catalina.out
     ---> Running in 65517b76ae78
    Removing intermediate container 65517b76ae78
     ---> 60e8cd8eda16
    Successfully built 60e8cd8eda16
    Successfully tagged diytomcat:latest
    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    diytomcat           latest              60e8cd8eda16        13 minutes ago      733MB
    entrypoint-test     latest              cd452c66c026        4 hours ago         237MB
    cmdtest             latest              380b0c95615c        4 hours ago         237MB
    mycentos            0.1                 a68a7a44878e        5 hours ago         321MB
    ysl/centos          1.0                 bf97aef123f3        28 hours ago        237MB
    mysql               5.7                 a4fdfd462add        5 days ago          448MB
    nginx               latest              9beeba249f3e        10 days ago         127MB
    centos              latest              470671670cac        4 months ago        237MB
    

    启动并进入

    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker run -dit -p 9000:8080 --name ysltomcat -v /home/ysl/test:/usr/local/apache-tomcat-9.0.35/webapps/test -v /home/ysl/tomcatlogs/:/usr/local/apache-tomcat-9.0.35/logs diytomcat /bin/bash
    [root@d5a15c7850ad local]# ls
    apache-tomcat-9.0.35-src  etc	 include       lib    libexec	  sbin	 src
    bin			  games  jdk1.8.0_251  lib64  readme.txt  share
    
    

    挂载的目录

    访问

    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# cd test
    [root@iz2zeaet7s13lfkc8r3e2kz test]# mkdir WEB-INF
    [root@iz2zeaet7s13lfkc8r3e2kz test]# ls
    WEB-INF
    [root@iz2zeaet7s13lfkc8r3e2kz test]# cd WEB-INF/
    [root@iz2zeaet7s13lfkc8r3e2kz WEB-INF]# vim web.xml
    [root@iz2zeaet7s13lfkc8r3e2kz WEB-INF]# cd ..
    [root@iz2zeaet7s13lfkc8r3e2kz test]# vim index.jsp
    [root@iz2zeaet7s13lfkc8r3e2kz test]# cat index.jsp 
    lge language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>yslTest</title>
    </head>
    <body>
    Hello World!<br/>
    </body>
    </html>
    
    

    发布镜像

    发布到DockerHub

    登录DockerHub

    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker login --help
    
    Usage:	docker login [OPTIONS] [SERVER]
    
    Log in to a Docker registry.
    If no server is specified, the default is defined by the daemon.
    
    Options:
      -p, --password string   Password
          --password-stdin    Take the password from stdin
      -u, --username string   Username
    
    # 登录
    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker login -u ysltop
    Password: 
    WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded
    
    # 发布
    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker push ysltop/diytomcat
    The push refers to repository [docker.io/ysltop/diytomcat]
    An image does not exist locally with the tag: ysltop/diytomcat
    
    # 解决,加一个tag
    [root@iz2zeaet7s13lfkc8r3e2kz ysl]# docker tag cd452c66c026 ysltop/tomcat:1.0
    
    
    

    再发布

    发布到阿里云

    登录阿里云

    创建命名空间

    创建镜像仓库

    查看仓库信息

    根据阿里云提供的操作

    登录

    发布

    https://space.bilibili.com/95256449/dynamic

  • 相关阅读:
    spring配合junit测试 initializationError 错误
    hashmap为什么不安全
    关于使用iframe标签自适应高度的使用
    关于highcharts(功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库)
    富文本web编辑器(UEditor)
    css行级块级区别总结摘录
    jquery mobile 主题
    jquery mobile selectmenu下拉菜单
    jquery mobile popup 弹出窗口
    jquery mobile navbar
  • 原文地址:https://www.cnblogs.com/yslss/p/12985593.html
Copyright © 2020-2023  润新知