zoukankan      html  css  js  c++  java
  • 使用Dockerfile制作JDK+tomcat镜像

    1、准备好jdk和tomcat
    apache-tomcat-8.5.32.tar.gz
    jdk-8u181-linux-x64.tar.gz

    注意:
    a、jdk和tomcat记得从官网下载,否则制作出来的镜像容易出现不兼容问题。
    b、apache-tomcat-8.5.32.tar.gz、jdk-8u181-linux-x64.tar.gz、Dockerfile放在同一目录

    2、编写Dockerfile,内容如下:

    FROM centos:latest
    MAINTAINER john
    # now add java and tomcat support in the container 
    ADD jdk-8u181-linux-x64.tar.gz  /usr/local/ 
    ADD apache-tomcat-8.5.32.tar.gz /usr/local/ 
    
    # configuration of java and tomcat ENV 
    ENV JAVA_HOME /usr/local/jdk1.8.0_181 
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
    ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.32
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin 
    
    # container listener port 
    EXPOSE 8080
    # startup web application services by self 
    CMD /usr/local/apache-tomcat-8.5.32/bin/catalina.sh run

    注意:测试发现catalina.sh start启动tomcat容器无法成功,用catalina.sh run正常的。

    3、设置Dockerfile权限

    chmod 777 Dockerfile

    4、通过Dockerfile生成tomcat镜像

    docker build -t tomcat8:v1 .

    5、docker images查看刚刚构建的镜像

    REPOSITORY    TAG    IMAGE ID            CREATED             SIZE
    tomcat8       v1     12bd97615c88        About an hour ago   595MB

    6、测试镜像,运行容器

    sudo docker run -d -p 8058:8080 --name mytomcat tomcat8:v1
    sudo docker run -d -p 8058:8080 -v /opt/docker/lynch/webapps:/usr/local/apache-tomcat-8.5.32/webapps --name mytomcat tomcat8:v1
    sudo docker run -e "SPRING_PROFILES_ACTIVE=uat" -d -p 8080:8080 -p 30008:30008 -v /root/dev/docker/webapps:/usr/local/apache-tomcat-8.5.32/webapps --name game-server tomcat8:uat

    注意:/opt/docker/lynch/webapps宿主机目录,存放tomcat项目;/usr/local/apache-tomcat-8.5.32/webapps -->tomcat容器的webapps目录


    7、上传镜像到本地镜像仓库

    docker tag 12bd97615c88 harbor.baidu.cn/library/tomcat:8.5.32 ##12bd97615c88 刚才创建的镜像ID
    docker login -u admin -p Harborbaidu harbor.baidu.cn
    docker push harbor.baidu.cn/library/tomcat:8.5.32

     8、DEMO

    FROM java:8-jdk
    COPY ./user-service/target/user-service.jar /user-service.jar
    ENV TZ Asia/Shanghai
    ENV JAVA_OPS -Duser.timezone=Asia/Shanghai
    EXPOSE 8080 30001
    ENTRYPOINT ["java", "-jar", "-Djava.security.egd=file:/dev/./urandom", "/user-service.jar"]
  • 相关阅读:
    网站上线的过程
    PHP的四种基本算法
    YII框架第三方微博登录
    《正三角》《倒三角》
    PHP实现四种基本排序
    php实现快速排序
    iwebshop 简介
    收集的伪静态中经常使用的一些参数
    我与AI的相识
    phpstudy下的nginx服务器显示目录
  • 原文地址:https://www.cnblogs.com/linjiqin/p/9402350.html
Copyright © 2011-2022 走看看