首先,系统(3.8以上内核的linux)中安装好 Docker 这个运用程序。因为网络缘由,咱们下载一个Docker官方的镜像须要很长的时间,甚至下载失败。为此,阿里云容器镜像服务提供了官方的镜像站点,从而加速官方镜像的下载速度。 [ 不会的能够参考我以前的文章:Docker <一> 架构简介与Linux上安装 http://www.javashuo.com/article/p-qdsjcbsd-bh.html]。java
# docker search weblogic docker search weblogic # docker search wls docker search wls
能够看到下图所示的信息:linux
# pull 镜像 docker pull -a radudobrinescu/wls12c:5.0
整个pull过程须要花费一些时间,耐心等待。git
若见下图证实pull成功。 github
# 使用 docker images 命令便可列出已下载的镜像 docker images
# 普通新建并启动 docker run --name weblogic12c7099 -it -p 7099:7001 radudobrinescu/wls12c:5.0
一、进入%DOMAIN_HOME%/security目录,执行下列命令: java -classpath C:\Oracle\Middleware\Oracle_Home\wlserver\server\lib\weblogic.jar weblogic.security.utils.AdminAccount <NewAdminUserName> <NewAdminPassword> . # 本次实际路径是: java -classpath /oracle/fmwhome/wls12c/wlserver/server/lib/weblogic.jar weblogic.security.utils.AdminAccount weblogic weblogic1 . # 注意:上一段命令包含6个空格,后面weblogic是用户名,weblogic101是密码,weblogic控制密码长度和复杂性。 # 特别注意最后有个“ .”,一个空格和一个点。 # 此命令将生成新的DefaultAuthenticatorInit.ldift文件覆盖原来的。 二、进入管理服务器的AdminServer目录,如:%DOMAIN_HOME%/servers/AdminServer。将其中的data目录重命名, 如:data_old。 本次是: /oracle/fmwhome/domains/WLS12_on_Docker/servers/AdminServer 将data文件夹重命名为data_old。 三、 修改管理服务器的boot.properties文件,如:%DOMAIN_HOME%/servers/AdminServer/security /boot.properties,修改其中的用户名与密码(用明文,第一次启动服务器时明文将被加密),要和上面命令 中的用户名密码一致。 例:修改后: username=weblogic password=weblogic1 四、 从新启动服务器后,就可使用用户weblogic登陆管理控制台了
每一个weblogic server 都是运行在一个java虚拟机上 ,对weblogic的内存设置也就是对java虚拟机的内存设置。 MEM_ARGS=-Xms512m -Xmx1024m -XX:MaxPermSize=128m -Xms512m表示jvm内存下限为512m -Xmx512m表示jvm内存上限为1024m -XX:MaxPermSize=128m表示永久内存为128m 咱们主要设置的为jvm内存,永久内存设置为128m或者256m便可。 设置jvm内存时,根据经验32位机器最大可启动1.8G内存的jvm,64位机器最大可启动3G内存的jvm; 而在设置上下限的时候最好将二者设为一致,以免浪费频繁的申请和释放内存的开销。 ------------------------------------------------------------------------------------------------- 四个步骤便可: 一、打开setDomainEnv.sh文件,该文件的路径位于: /weblogic/user_projects/domains/你的服务器域名/bin/setDomainEnv.sh 二、修改内存大小 默认的内存配置为: if [ "${JAVA_VENDOR}" = "Sun" ] ; then WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m" //64位 export WLS_MEM_ARGS_64BIT WLS_MEM_ARGS_32BIT="-Xms256m -Xmx512m" //32位 export WLS_MEM_ARGS_32BIT else WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m" export WLS_MEM_ARGS_64BIT WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m" export WLS_MEM_ARGS_32BIT fi 增长内存大小后: if [ "${JAVA_VENDOR}" = "Sun" ] ; then WLS_MEM_ARGS_64BIT="-Xms512m -Xmx1024m" //64位 export WLS_MEM_ARGS_64BIT WLS_MEM_ARGS_32BIT="-Xms512m -Xmx1024m" //32位 export WLS_MEM_ARGS_32BIT else WLS_MEM_ARGS_64BIT="-Xms512m -Xmx1024m" export WLS_MEM_ARGS_64BIT WLS_MEM_ARGS_32BIT="-Xms512m -Xmx1024m" export WLS_MEM_ARGS_32BIT fi 三、保存修改后的文件,重启weblogic。 四、从新访问web应用,测试成功。 五、升级 weblogic2c 的 jdk 运行环境 # 配置新JDK # vi ~/.bash_profile # export JAVA_HOME=/home/oracle/jdk8 # export JRE_HOME=/home/oracle/jdk8/jre # export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH # export PATH=$JAVA_HOME/bin:$PATH vi /oracle/fmwhome/domains/WLS12_on_Docker/bin/setDomainEnv.cmd set SUN_JAVA_HOME=/home/oracle/jdk8 set DEFAULT_SUN_JAVA_HOME=/home/oracle/jdk8 set JAVA_HOME=/home/oracle/jdk8 注意:/home/oracle/jdk8 这是我本机的jdk 位置,要根据您服务器的jdk选择具体目录 若是你在安装weblogic的时候,选择了本地安装的jdk位置路径这一个步骤能够省略
一、构建Oracle JDK(服务器JRE)基础映像web
首先,必须先下载Oracle Server JRE二进制文件../OracleJava/java-8并放入文件夹并构建该映像(https://github.com/oracle/docker-images/tree/master/OracleJava)。docker
$ cd ../OracleJava/java-8 $ sh build.sh
· GitHub : https://github.com/oracle/docker-images/tree/master/OracleJava数据库
二、构建WebLogic Docker安装映像
重要提示:必须下载WebLogic的二进制.download文件并将其放在适当位置(请参阅dockerfiles /中的文件):https://github.com/oracle/docker-images/tree/master/OracleWebLogic/dockerfiles。bash
在构建以前,选择要构建映像的版本和分发版本,而后下载所需的软件包(请参阅.download文件:https://github.com/oracle/docker-images/tree/master/OracleWebLogic/dockerfiles/12.2.1),并将其放入您选择的分发版本的文件夹中。而后进入dockerfiles文件夹并以root身份运行buildDockerImage.sh脚本。服务器
$ sh buildDockerImage.sh -h Usage: buildDockerImage.sh -v [version] [-d | -g | -i] [-s] Builds a Docker Image for Oracle WebLogic. Parameters: -v: version to build. Required. Choose one of: 12.1.3 12.2.1 -d: creates image based on 'developer' distribution -g: creates image based on 'generic' distribution -i: creates image based on 'infrastructure' distribution -c: enables Docker image layer cache during build -s: skips the MD5 check of packages * select one distribution only: -d, -g, or -i LICENSE UPL 1.0 Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved.
buildDockerImage.sh 文件内容以下:网络
#!/bin/bash # # Since: October, 2014 # Author: bruno.borges@oracle.com # Description: script to build a Docker image for WebLogic # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # # Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved. # usage() { cat << EOF Usage: buildDockerImage.sh -v [version] [-d | -g | -i] [-s] [-c] Builds a Docker Image for Oracle WebLogic. Parameters: -v: version to build. Required. Choose one of: $(for i in $(ls -d */); do echo -n "${i%%/} "; done) -d: creates image based on 'developer' distribution -g: creates image based on 'generic' distribution -i: creates image based on 'infrastructure' distribution -c: enables Docker image layer cache during build -s: skips the MD5 check of packages * select one distribution only: -d, -g, or -i LICENSE UPL 1.0 Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved. EOF exit 0 } # Validate packages checksumPackages() { echo "Checking if required packages are present and valid..." md5sum -c Checksum.$DISTRIBUTION if [ "$?" -ne 0 ]; then echo "MD5 for required packages to build this image did not match!" echo "Make sure to download missing files in folder $VERSION. See *.download files for more information" exit $? fi } if [ "$#" -eq 0 ]; then usage; fi # Parameters DEVELOPER=0 GENERIC=0 INFRASTRUCTURE=0 VERSION="12.2.1" SKIPMD5=0 NOCACHE=true while getopts "hcsdgiv:" optname; do case "$optname" in "h") usage ;; "s") SKIPMD5=1 ;; "d") DEVELOPER=1 ;; "g") GENERIC=1 ;; "i") INFRASTRUCTURE=1 ;; "v") VERSION="$OPTARG" ;; "c") NOCACHE=false ;; *) # Should not occur echo "Unknown error while processing options inside buildDockerImage.sh" ;; esac done # Which distribution to use? if [ $((DEVELOPER + GENERIC + INFRASTRUCTURE)) -gt 1 ]; then usage elif [ $DEVELOPER -eq 1 ]; then DISTRIBUTION="developer" elif [ $GENERIC -eq 1 ]; then DISTRIBUTION="generic" elif [ $INFRASTRUCTURE -eq 1 ] && [ "$VERSION" = "12.1.3" ]; then echo "Version 12.1.3 does not have infrastructure distribution available." exit 1 else DISTRIBUTION="infrastructure" fi # WebLogic Image Name IMAGE_NAME="oracle/weblogic:$VERSION-$DISTRIBUTION" # Go into version folder cd $VERSION if [ ! "$SKIPMD5" -eq 1 ]; then checksumPackages else echo "Skipped MD5 checksum." fi echo "=====================" # Proxy settings PROXY_SETTINGS="" if [ "${http_proxy}" != "" ]; then PROXY_SETTINGS="$PROXY_SETTINGS --build-arg http_proxy=${http_proxy}" fi if [ "${https_proxy}" != "" ]; then PROXY_SETTINGS="$PROXY_SETTINGS --build-arg https_proxy=${https_proxy}" fi if [ "${ftp_proxy}" != "" ]; then PROXY_SETTINGS="$PROXY_SETTINGS --build-arg ftp_proxy=${ftp_proxy}" fi if [ "${no_proxy}" != "" ]; then PROXY_SETTINGS="$PROXY_SETTINGS --build-arg no_proxy=${no_proxy}" fi if [ "$PROXY_SETTINGS" != "" ]; then echo "Proxy settings were found and will be used during build." fi # ################## # # BUILDING THE IMAGE # # ################## # echo "Building image '$IMAGE_NAME' ..." # BUILD THE IMAGE (replace all environment variables) BUILD_START=$(date '+%s') docker build --force-rm=$NOCACHE --no-cache=$NOCACHE $PROXY_SETTINGS -t $IMAGE_NAME -f Dockerfile.$DISTRIBUTION . || { echo "There was an error building the image." exit 1 } BUILD_END=$(date '+%s') BUILD_ELAPSED=`expr $BUILD_END - $BUILD_START` echo "" if [ $? -eq 0 ]; then cat << EOF WebLogic Docker Image for '$DISTRIBUTION' version $VERSION is ready to be extended: --> $IMAGE_NAME Build completed in $BUILD_ELAPSED seconds. EOF else echo "WebLogic Docker Image was NOT successfully created. Check the output and correct any reported problems with the docker build operation." fi
本文为博主原创文章,转载请注明出处!