zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    SVN分支
    SVN分支
    SVN 版本回退
    SVN 版本回退
    如何在excel中取消合并单元格后内容自动填充?
    如何在excel中取消合并单元格后内容自动填充?
    如何让自己像打王者荣耀一样发了疯、拼了命的学习?
  • 原文地址:https://www.cnblogs.com/yslss/p/12985593.html
Copyright © 2011-2022 走看看