应用容器化技术是如今开发者社区讨论最热门的话题。这个技术旨在将应用作为单一的服务运行在容器中。 Docker 就是这样一种应用容器。此外容器技术可运用于流行的 微服务架构模式 中。对于Java EE开发者来说有一个好消息:WebLogic Server 12c (12.1.3) 全面支持Docker容器 。
对于新手来说,理解应用容器以及传统的虚拟化技术、应用、系统容器和Docker这些术语之间的区别和定义会有一点困难,所以这里提供一些链接希望能够起到帮助作用:
本文的目的是教你从零开始一步一步将WebLogic Server运行在Docker容器中。我们将会创建WebLogic Domain的Docker镜像并运行WebLogic Admin Server容器。我们将在以下的示例中使用它们。
由于Docker依赖于Linux的特殊功能,为了将Weblogic运行于Docker中,你可以在这里下载使用现成的 Virtual Box VM: http://www.oracle.com/technetw ... .html 。你也可以配置和使用自己的OEL VM。请注意如下提供了一个在 Oracle Linux Administration Guide 中的关于如何在Oracle Linux中安装、配置和使用Docker的一个很棒的文档:
/etc/yum.repos.d/public-yum-ol6.repo
文件中启用 ol6_addons repository
。使用编辑器打开它并在 public_ol6_latest
下面添加: [ol6_addons]
name=Oracle Linux $releasever Add ons ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
然后使用 Yum
命令安装Docker:
如果你使用了代理,不要忘记编辑 /etc/sysconfig/docker
并添加:
export HTTP_PROXY="proxy_URL:port"
export HTTPS_PROXY="proxy_URL:port"
启动Docker服务并配置开机启动:
最后检查服务是否已启动:
docker (pid 9044) is running...
docker
群组: 创建docker群组:
重启docker服务:
将需要使用Docker的用户添加到 docker
群组:
如果你的VM中没有安装Git可以使用如下命令安装:
安装完成后使用 git clone
命令获取一份 docker 仓库:
$ git clone https://github.com/oracle/docker.git
Initialized empty Git repository in /home/oracle/GitRep/docker/.git/
remote: Counting objects: 799, done.
remote: Total 799 (delta 0), reused 0 (delta 0), pack-reused 799
Receiving objects: 100% (799/799), 202.80 MiB | 1.58 MiB/s, done.
Resolving deltas: 100% (314/314), done.
浏览 ../docker/WebLogic
目录并找到 buildDockerImage.sh
脚本,我们将用它来创建WebLogic的Docker镜像。使用这份脚本需要对应的开发者创建镜像的Dockerfiles和WebLogic的普通发布版本。在这里为了开发者的目的我们将使用开发者版本。请注意你需要下载WebLogic的开发者Zip发行包(wls1213_dev_update3.zip)和Linux rpm package of Java 8u51 JDK (jdk-8u51-linux-x64.rpm),然后复制到 ../docker/OracleWebLogic/dockerfiles/12.1.3 directory. 你可以在这里下载它们:
你可以在 README.md
文件中获得更多信息和参考(或者这里: https://github.com/oracle/dock ... Logic )
../docker/OracleWebLogic/
目录并运行 buildDockerImage.sh
: $ sudo sh buildDockerImage.sh -d
等待直到执行完然后使用 docker images 命令检查创建好的有了标记的镜像( oracle/weblogic:12.1.3-dev
):
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
oracle/weblogic 12.1.3-dev 8ed51ee07c61 About a minute ago 2.084 GB
oraclelinux 7 8a2b759d9dd8 9 weeks ago 189.5 M
你需要进入 ../docker/OracleWebLogic/samples/12c-domain
目录执行 buildDockerImage.sh
脚本:
$ sudo sh buildDockerImage.sh -d
等待直到执行完然后使用 docker images 命令检查创建好的有了标记的镜像( samplewls:12.1.3
):
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
samplewls 12.1.3 36e1c85448ac 52 seconds ago 2.085 GB
oracle/weblogic 12.1.3-dev 8ed51ee07c61 22 minutes ago 2.084 GB
oraclelinux 7 8a2b759d9dd8 9 weeks ago 189.5 MB
$ docker run -d samplewls:12.1.3
6c53e54e2605191e1823736fe2b0819d4e68c93eb988d74be773b1514f0e5663
注意,那个 -d
选项表示在后台运行容器并返回容器ID。
例子中使用的Dockerfiles定义 startWebLogic.sh
为默认的CMD。这是用来启动WebLogic Admin Server的命令。
你可以使用 docker logs 命令以容器id最为参数来检查WebLogic Admin Server进程的STUOUT:
docker logs <container_id>
为了以后使用并远程服务器上运行容器或者如果你想本地运行但是在你的电脑上绑定端口,你需要为Admin Server暴露端口和IP地址,因为你经常需要于Docker进行交互。你可以通过 docker inspect 命令来获得运行中的容器的IP地址信息:
$ docker run -d -p 8001:8001 --name=wlsadmin samplewls:12.1.3 startWebLogic.sh
$ docker inspect <container_id> | grep "IPAddress"
"IPAddress": "XXX.XX.XX.XX",
希云( https://csphere.c n) 和您分享的这篇文章是关于如何将WebLogic Server运行于Docker容器的简单介绍。我们希望本文对于那些没有任何Docker容器使用经验并且想要尝试着将WebLogic运行于Docker的开发者有用。
希云是Docker领域的专家,致力于通过Docker技术提供更好的云计算产品和服务。希云品牌下的产品包括了
并提供相关的培训和咨询服务
欢迎企业垂询:
回复数字“1”即可查看【Docker持续部署图文详解】
回复数字“2”即可查看【初识Docker和Windows Server容器】
回复数字“3”即可查看【为Windows创建Node.js容器镜像】
回复数字“4”即可查看【使用Docker-in-Docker来运行CI或集成测试环境?三思】
尊重知识,请必须全文转载,不得删改,包括本行。