• WebLogic 1036的镜像构建


    WebLogic1035版本构建出来的镜像有问题,部署应用激活后返回的是后面pod的ip和端口号,在1036版本和12.1.3版本都无此问题。

    weblogic 1036的Dockerfile

    [root@k8s-node-1 weblogic1036jdk1.6]# cat Dockerfile
    #CENSE MIT License 2015
    #
    # GIBAHOLMS DOCKERFILES PROJECT
    # -----------------------------------------
    # This is the Dockerfile for a default installation for Oracle WebLogic Server 11g (10.3.6) Generic Distribution
    # 
    # IMPORTANT
    # -----------------------------------------
    # The resulting image of this Dockerfile DOES NOT contain a WLS Domain.
    # For that, you must to create a domain on a new inherited image.
    #
    # REQUIRED FILES TO BUILD THIS IMAGE
    # -----------------------------------------
    # (1) wls1036_generic.jar (Oracle WebLogic Server 10.3.6 Generic Installer)
    #
    # (2) jdk-7u79-linux-x64.rpm (Oracle Java SE Development Kit 7 for Linux x64 RPM)
    #
    # HOW TO BUILD THIS IMAGE
    # -----------------------------------------
    # Put all downloaded files in the same directory as this Dockerfile
    # Run: 
    #      $ sudo docker build -t gibaholms/weblogic:10.3.6 . 
    #
    # AUTHOR
    # -----------------------------------------
    # Gilberto Holms <gibaholms85@gmail.com>
    # https://gibaholms.wordpress.com/
    # -----------------------------------------
    
    # Pull base image
    # ---------------
    FROM oraclelinux:7
    
    # Maintainer
    # ----------
    MAINTAINER ericnie <niejian437>
    
    # Environment variables required for this build (do NOT change)
    # -------------------------------------------------------------
    ENV JAVA_RPM jdk-6u45-linux-x64.bin
    ENV WLS_PKG wls1036_generic.jar
    ENV JAVA_HOME /u01/jdk1.6.0_45
    
    # Setup required packages (unzip), filesystem, and oracle user
    # ------------------------------------------------------------
    RUN mkdir -p /u01/oracle  && 
        chmod a+xr /u01 
    
    COPY $JAVA_RPM wls-silent.xml /u01/
    
    # Install and configure Oracle JDK
    # -------------------------------------
    WORKDIR /u01
    
    RUN /u01/$JAVA_RPM && 
        rm /u01/$JAVA_RPM 
    
    WORKDIR /u01
    
    ENV PATH $PATH:/u01/jdk1.6.0_45/bin
    
    # Installation of WebLogic
    COPY $WLS_PKG /u01/ 
    RUN /u01/jdk1.6.0_45/bin/java -jar $WLS_PKG -mode=silent -silent_xml=/u01/wls-silent.xml &&  
        rm -rf /u01/$WLS_PKG && 
            rm -rf /u01/wls-silent.xml && 
        rm -rf /tmp/* 
    
    WORKDIR /u01/oracle/
    
    #ENV PATH $PATH:/u01/oracle/wlserver_10.3/common/bin
    
    # Define default command to start bash. 

    涉及到的wls-silent.xml文件.

    [root@k8s-node-1 weblogic1036jdk1.6]# cat wls-silent.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <bea-installer> 
        <input-fields>
            <data-value name="BEAHOME" value="/u01/oracle" />
            <data-value name="USER_INSTALL_DIR" value="/u01/oracle" />
            <data-value name="COMPONENT_PATHS" value="WebLogic Server/Core Application Server|WebLogic Server/Administration Console|WebLogic Server/Configuration Wizard and Upgrade Framework|WebLogic Server/Web 2.0 HTTP Pub-Sub Server|WebLogic Server/WebLogic JDBC Drivers|WebLogic Server/Third Party JDBC Drivers|WebLogic Server/WebLogic Server Clients|WebLogic Server/WebLogic Web Server Plugins|WebLogic Server/UDDI and Xquery Support" />
            <data-value name="INSTALL_NODE_MANAGER_SERVICE" value="no" />
            <data-value name="INSTALL_SHORTCUT_IN_ALL_USERS_FOLDER" value="no"/>
            <data-value name="LOCAL_JVMS" value="/u01/jdk1.6.0_45"/>
        </input-fields>
    </bea-installer>

    构建域

    [root@k8s-node-1 1036domainjdk6]# cat Dockerfile 
    # LICENSE CDDL 1.0 + GPL 2.0
    #
    # Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved.
    #
    # ORACLE DOCKERFILES PROJECT
    # --------------------------
    # This Dockerfile extends the Oracle WebLogic image by creating a sample domain.
    #
    # The 'base-domain' created here has Java EE 7 APIs enabled by default:
    #  - JAX-RS 2.0 shared lib deployed
    #  - JPA 2.1, 
    #  - WebSockets and JSON-P
    #
    # Util scripts are copied into the image enabling users to plug NodeManager 
    # magically into the AdminServer running on another container as a Machine.
    #
    # HOW TO BUILD THIS IMAGE
    # -----------------------
    # Put all downloaded files in the same directory as this Dockerfile
    # Run: 
    #      $ sudo docker build -t 1213-domain --build-arg ADMIN_PASSWORD=welcome1 .
    #
    
    # Pull base image
    # ---------------
    FROM ericnie/weblogic:10.3.6-jdk6u45v2
    
    # Maintainer
    # ----------
    MAINTAINER Bruno Borges <bruno.borges@oracle.com>
    
    # WLS Configuration
    # -------------------------------
    ARG ADMIN_PASSWORD
    ARG PRODUCTION_MODE
    
    ENV DOMAIN_NAME="base_domain" 
        DOMAIN_HOME="/u01/oracle/user_projects/domains/base_domain" 
        ADMIN_PORT="7001" 
        ADMIN_HOST="wlsadmin" 
        NM_PORT="5556" 
        MS_PORT="7002" 
        PRODUCTION_MODE="${PRODUCTION_MODE:-prod}" 
        JAVA_OPTIONS="-Dweblogic.security.SSL.ignoreHostnameVerification=true -Djava.security.egd=file:///dev/urandom" 
        CLASSPATH="" 
        PATH=$PATH:/u01/oracle/wlserver_10.3/common/bin:/u01/oracle/user_projects/domains/base_domain/bin:/u01/oracle/
    
    # Add files required to build this image
    COPY container-scripts/* /u01/oracle/
    
    RUN mkdir /u01/oracle/application
    
    # Configuration of WLS Domain
    WORKDIR /u01/oracle
    RUN /u01/oracle/wlst /u01/oracle/create-wls-domain.py && 
        mkdir -p /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/security && 
        echo "username=weblogic" > /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties &&  
        echo "password=$ADMIN_PASSWORD" >> /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties && 
        cp /u01/oracle/setDomainEnv.sh /u01/oracle/user_projects/domains/base_domain/bin/setDomainEnv.sh && 
        echo ". /u01/oracle/user_projects/domains/base_domain/bin/setDomainEnv.sh" >> /u01/oracle/.bashrc &&  
        echo "export PATH=$PATH:/u01/oracle/wlserver_10.3/common/bin:/u01/oracle/user_projects/domains/base_domain/bin" >> /u01/oracle/.bashrc && 
        rm /u01/oracle/create-wls-domain.py /u01/oracle/jaxrs2-template.jar 
    
    #    cp /u01/oracle/commEnv.sh /u01/oracle/wlserver_10.3/common/bin/commEnv.sh && 
    # Expose Node Manager default port, and also default http/https ports for admin console
    EXPOSE $NM_PORT $ADMIN_PORT $MS_PORT
    
    WORKDIR $DOMAIN_HOME 
    
    # Define default command to start bash. 
    CMD ["startWebLogic.sh"]

    中间的create-wls-domain.py

    [root@k8s-node-1 container-scripts]# cat create-wls-domain.py 
    # Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved.
    #
    # WebLogic on Docker Default Domain
    #
    # Domain, as defined in DOMAIN_NAME, will be created in this script. Name defaults to 'base_domain'.
    #
    # Since : October, 2014
    # Author: bruno.borges@oracle.com
    # ==============================================
    domain_name  = os.environ.get("DOMAIN_NAME", "base_domain")
    admin_port   = int(os.environ.get("ADMIN_PORT", "7001"))
    admin_pass   = os.environ.get("ADMIN_PASSWORD")
    cluster_name = os.environ.get("CLUSTER_NAME", "DockerCluster")
    domain_path  = '/u01/oracle/user_projects/domains/%s' % domain_name
    production_mode         = os.environ.get("PRODUCTION_MODE", "prod")
    
    print('domain_name : [%s]' % domain_name);
    print('admin_port  : [%s]' % admin_port);
    print('cluster_name: [%s]' % cluster_name);
    print('domain_path : [%s]' % domain_path);
    print('production_mode : [%s]' % production_mode);
    
    # Open default domain template
    # ======================
    readTemplate("/u01/oracle/wlserver_10.3/common/templates/domains/wls.jar")
    
    set('Name', domain_name)
    setOption('DomainName', domain_name)
    
    # Disable Admin Console
    # --------------------
    # cmo.setConsoleEnabled(false)
    
    # Configure the Administration Server and SSL port.
    # =========================================================
    cd('/Servers/AdminServer')
    set('ListenAddress', '')
    set('ListenPort', admin_port)
    
    # Define the user password for weblogic
    # =====================================
    cd('/Security/%s/User/weblogic' % domain_name)
    cmo.setPassword(admin_pass)
    
    # Write the domain and close the domain template
    # ==============================================
    setOption('OverwriteDomain', 'true')
    setOption('ServerStartMode', 'prod')
    
    
    
    # Write Domain
    # ============
    writeDomain(domain_path)
    closeTemplate()
    # Exit WLST
    # =========
    exit()
  • 相关阅读:
    Linux Centos7安装mongodb并设置开机启动
    解决Centos7下载慢的问题
    用Python处理HTML转义字符的5种方式
    java 利用poi对Excel解析读取和写入,解析resources下的.json文件
    feign.FeignException: status 404 reading DeptClientService#findAll()
    java中进程与线程的区别
    java中sigar获取信息
    Cesium 4490 解决方案
    Windows Server自动化部署Sysprep
    关于SET ANSI_PADDING的作用
  • 原文地址:https://www.cnblogs.com/ericnie/p/7866686.html
Copyright © 2020-2023  润新知