如何制作一个WebLogic的基础镜像

在《Docker技术入门与实践》这本书中描述了如何在联网环境下一步步制作一个WebLogic的基础镜像,但是那十几页的描述看起来还是让人非常头大,而且在很多传统企业或者金融企业中,他们的内网环境是无法连接外网的,这就要求我们必须有一种离线环境下制作WebLogic的方法。而本文恰好是主要描述如何在离线状态基于纯净的Centos7.2的容器镜像来一步步制作一个WebLogic的容器镜像。

要完成WebLogic基础镜像的制作,我们要准备如下材料:

一:centos7的容器镜像。这个是我是在联网环境下利用 docker pull centsos 命令下载完成之后,利用docker save -o centos-7.2.tar centos:latest命令保存下来的。

二:Jdk的rpm包。这个可以在联网环境下从Oracle的官网上下载得到。

三:WebLogic的Zip版安装包。这个也可以在Oracle官网上下载得到。

准备好这些材料之后,我们就可以进入到下一步操作了:

首先,我们利用U盘或者其他介质将我们准备的这三个软件包拷贝到我们用来制作镜像的主机上;假设我们把jdk和WebLogic的安装包拷贝到了/usr/software目录下,并把WebLogic解压【unzip wls1212_dev.zip】解压出来的顶层文件目录是wls12120。利用 docker load -i centos-7.2.tar 命令导入centos基础镜像。这时,当我们执行docker images的时候会发现我们的环境中增加了一个centos:latest版的镜像信息。这说明我们的基础镜像导入是成功的。

其次,我们利用docker run -itd -P -v /usr/software:/home centos:latest /bin/bash命令基于刚刚导入的centos镜像来启动一个后台运行的容器,这个容器中的/home目录和宿主机上的/usr/home目录下是共享的。利用docker exec -it 容器ID /bin/bash命令进入到容器中之后执行命令mkdir -p /opt/Oracle/weblogic/wls12120。

接下来安装jdk并修改环境变量:

rpm -ivh jdk-8u65-linux-x64.rpm

export JAVA_HOME=/usr/java....

export WM_HOME=/opt/Oracle/weblogic/wls12120。

在/opt/Oracle/weblogic/wls12120下运行sh configure.sh进行weblogic的安装。

需要等待一段时间;在出现是否创建一个新的domain时选择yes,回车

输入管理账号的用户名和密码。需要注意:密码必须同时包含字母数字,不能只包含数字或者只包含字母,否则此次安装会失败。

然后等待安装完成之后这时发现weblogic已经安装完成并启动。但是外界还不能访问。停掉weblogic后exit退出。

执行docker commit contianerId image:tag 将刚才制作的容器生成weblogic的基础镜像。

编写dockerfile,内容如下:

FROM weblogic:base

ADD run.sh /

EXPOSE 7001

CMD ["/run.sh"]

在当前路径下编写 vi run.sh 内容如下:

#!/bin/bash

#这个路径不能出错

/opt/Oracle/weblogic/wls12120/user_projestc/../startWebLogic.sh

在当前路径执行docker build -t weblogic:basic .进行镜像创建。

执行 docker run -itd -P weblogic:basic来测试。

执行docker ps 来查看刚才启动的容器对外暴漏的端口,:之前的是映射到宿主机的端口

在浏览器上输入http://ip:port/console来校验。这里的port是:之前的端口。

至此,我们已经完成了一个在离线环境下制作WebLogic基础镜像的整个步骤,总体的镜像制作方法是:基于以后容器提交成一个镜像、从归档文件导入,利用dockerfile来制作这三种方法的混合使用。这种方法在制作复杂基础镜像的时候会经常用到。



文/丁明威(简书作者)
原文链接:http://www.jianshu.com/p/f62c1d80c41c
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成 WebLogic 镜像文件的基本步骤如下: 1. 准备一个 WebLogic 安装程序,如 wls1036_generic.jar。 2. 编写一个 Dockerfile 文件,指定使用的基础镜像、安装 WebLogic、创建域、配置管理员账户等。 3. 在 Dockerfile 所在目录执行 `docker build` 命令,生成镜像文件。 下面是一个简单的示例 Dockerfile 文件: ``` FROM oraclelinux:7-slim # 设置环境变量 ENV MW_HOME=/u01/oracle \ DOMAIN_NAME=base_domain \ ADMIN_PASSWORD=welcome1 # 安装必要软件 RUN yum install -y java-1.8.0-openjdk-devel unzip && \ yum clean all && \ rm -rf /var/cache/yum # 拷贝 WebLogic 安装程序 COPY wls1036_generic.jar /u01/ # 安装 WebLogic RUN java -jar /u01/wls1036_generic.jar -mode=silent -silent_xml=/u01/silent.xml && \ rm /u01/wls1036_generic.jar /u01/silent.xml # 创建域 RUN $MW_HOME/wlserver_10.3/common/bin/wlst.sh -skipWLSModuleScanning /u01/create-domain.py # 暴露管理控制台端口 EXPOSE 7001 # 启动 WebLogic 服务 CMD ["/u01/oracle/user_projects/domains/base_domain/startWebLogic.sh"] ``` 在该示例中,我们使用的基础镜像是 Oracle Linux 7,安装了 Java 8 和 unzip。我们将 WebLogic 安装程序 wls1036_generic.jar 拷贝到镜像中,并在 Dockerfile 中执行安装过程。安装完成后,我们使用 WLST 脚本 create-domain.py 创建了一个名为 base_domain 的域,并配置了管理员密码为 welcome1。最后,我们暴露了管理控制台端口 7001,并在启动容器时执行了启动 WebLogic 服务的命令。 使用以下命令来构建并运行该示例镜像: ``` docker build -t weblogic:10.3.6 . docker run -d -p 7001:7001 weblogic:10.3.6 ``` 其中,`-t` 指定镜像名称和版本,`.` 表示 Dockerfile 文件所在目录。`-d` 表示在后台运行容器,`-p` 指定容器内外端口映射。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值