利用Docker手动构建WebLogic镜像的步骤

info

我的 Docker 环境信息如下:

[root@localhost ~]# docker info -f  "
OSType:
    {{.OperatingSystem}} {{.Architecture}} {{.KernelVersion}}

DockerVersion:
    {{.ServerVersion}}
    
Mirrors:   {{range .RegistryConfig.Mirrors}}
    {{.}}{{end}}"
OSType:
    CentOS Linux 7 (Core) x86_64 3.10.0-957.21.3.el7.x86_64
DockerVersion:
    19.03.8
Mirrors: 

http://ovfftd6p.mirror.aliyuncs.com/


http://registry.docker-cn.com/


http://docker.mirrors.ustc.edu.cn/


http://hub-mirror.c.163.com/

Docker安装

# 依赖
yum install -y yum-utils device-mapper-persistent-data  lvm2

# 添加仓库
yum-config-manager  --add-repo   https: //download.docker.com/linux/centos/docker-ce.repo 594  yum-config-manager --enable docker-ce-nightly
yum-config-manager --enable docker-ce-test
yum-config-manager --disable docker-ce-nightly

# 安装
yum -y install docker-ce docker-ce-cli containerd.io

在dockerhub中寻找Weblogic镜像成品

在下搭这个环境只是为了调试,没想搞这么麻烦,所以有成品最好,在 dockerhub 中找到两个下载量比较多的,第一个是官方的:

利用Docker手动构建WebLogic镜像的步骤

但是可惜了,镜像太大了,一个也没有下载成功,都是到一半就卡住不动了,只能自己制作一个了。

官方有构建 Weblogic 镜像的 Dockerfile 以及一些说明: 点击查看 。

这里贴一下官方的文档:

利用Docker手动构建WebLogic镜像的步骤

全英文的,写的也不算很详细吧,下面就通过这个文档来手动构建一下。

构建JAVA-8镜像

因为 Weblogic 基于 Java ,所以需要用 JDK ,上面文档中说使用 ../OracleJava/java-8 可以构建出 JDK 镜像,这里如果可以直接命令 docker pull store/oracle/serverjre:8 把做好的镜像脱下来就不用这么麻烦了。

如果和我一样,下载不下载成品,只能手动构造了。 oracle/docker-images 这个仓库里包含了 oracle 提供的所有产品 Dockerfile ,没必要全 git clone 下来,推荐使用 downgit 工具把 java-8weblogic 目录下下来即可。

然后这是后面构建 weblogic 的时候才知道的事情,需要在 Dockerfile 中找到对应 JDK 安装包的文件名,然后到官网或别的地方去下载同名的包,和 Dockerfile 放到同级目录下。

这里使用的 server-jre-8u241-linux-x64.tar.gz : 下载地址

然后执行 build.sh 构建,一般不会出什么问题。

或者将 Dockerfile 的内容复制出来,在 Linux 中新建一个同名的文件,把内容复制进去,然后当前目录执行 docker build -t oracle/serverjre:8 . 也可以构建出来。

利用Docker手动构建WebLogic镜像的步骤

下载Weblogic二进制包

傻傻的试了半天 buildDockerImage.sh ,结果一直报错 checksum 什么的,看了一遍脚本内容还有重新看了一遍上面的英文 README 才发现需要自己去下载 weblogic 安装包,附上 下载地址 。

weblogic 会有3个分支版本: developergenericinfrastructure ,在 ./dockerfiles/12.2.1.3/ 目录下从文件后缀可以看出对应的 Dockerfile 文件,例如 generic 对应 Dockerfile.generic

没细研究它们的区别,简单看了一下 generic 比较全,带示例什么的,大小 800Mdeveloper 小很多,只有 231M ,试了一下网速跑满了,就把两个都下载下来构建了一遍。

将下载下来的文件,不需要解压,放到和对应版本的 Dockerfile 文件同级目录下。

利用Docker手动构建WebLogic镜像的步骤

构建Weblogic12镜像

我的目标版本是 12.2.1.3 generic ,所以使用 sh buildDockerImage.sh -v 12.2.1.3 -b

脚本本身没有什么问题,但是到 Percent Complete 这里一直报错,总是到 40% 进程就挂掉了,这里试了很多次,发现到 40% 的时候电脑风扇呼呼的,看了一下内存占用大概知道为什么了,我的虚拟机分配内存只有 512M ,尝试扩到 2G ,构建 weblogic 镜像顺利完成。

利用Docker手动构建WebLogic镜像的步骤

运行使用

以前没接触过这个中间件,所以不太了解怎么使用。直接 docker run -d oracle/weblogic 之后发现并不能将其运行起来。

利用Docker手动构建WebLogic镜像的步骤

又研究了一下 README 后发现运行需要基于已经有的 oracle/weblogic:12.2.1.3-generic 再构建一个实例镜像,官方提供了一些 sample ,我选择的是 12213-domain ,其他的也试了试,没能构建成功。

因为我这里想用 generic 版本,所以需要改一下示例目录的 Dockerfile 文件:

利用Docker手动构建WebLogic镜像的步骤

构建命令: docker build -f Dockerfile -t 12213-weblogic-domain-in-volume .

利用Docker手动构建WebLogic镜像的步骤

在制作容器运行之前,需要修改 properties 目录里的两个配置文件,重要的信息已经用红圈标注了,需要注意的是 DOMAIN_HOST_VOLUME 指定的目录需要在本机存在,该目录会映射容器内示例目录到本地, ADMIN_HOST 指定容器名称。

利用Docker手动构建WebLogic镜像的步骤

然后修改 run_admin_server.sh 可以构造并运行一个名为 weblogic 的容器,此时如果防火墙没有限制的话,访问http://your-ip:7001/console应该OK了。

利用Docker手动构建WebLogic镜像的步骤
利用Docker手动构建WebLogic镜像的步骤

开启调试端口

上面的脚本默认不会启动 weblogic 的调试端口 8453 ,为了之后的测试,这里尝试开启。

首先,将前面创建的容器删除 docker stop weblogic && docker container rm weblogic

然后修改示例目录 12213-domainrun_admin_server.sh 的最后一行,将 8453 端口映射出来。

利用Docker手动构建WebLogic镜像的步骤

然后,尝试连接一下 nc -v your-ip 8453 ,如果提示 connected 就可以了,如果不行则继续执行以下步骤。

前面将容器中的示例目录映射到了本地,在本地 /root/domain 下可以找到 base_domain 目录,目录结构如下:

利用Docker手动构建WebLogic镜像的步骤

修改 bin/setDomainEnv.sh ,找到最合适的地方,如何判断最合适,一句话就是最先使用 debugFlag 之前给 debugFlag 赋值之后,加上一句 exoprt debugFlag="true"

利用Docker手动构建WebLogic镜像的步骤

然后重启容器 docker restart weblogic 后成功开启调试。

利用Docker手动构建WebLogic镜像的步骤

原文 

http://www.cnblogs.com/lxmwb/p/12578952.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 利用Docker手动构建WebLogic镜像的步骤

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址