docker安装webshpere,并部署war、ear包

文章目录

    • 安装websphere
    • 部署war包
    • 问题及解决
    • 部署ear
    • 参考链接:

安装websphere

  1. 获取websphere镜像:
    docker pull ibmcom/websphere-traditional
    执行此命令前,可以使用docker search ibmcom先看下准确镜像,然后在拉取。比如我的是(一般选取星数较多的镜像,但貌似不同镜像生成的容器配置不同,此处我选的是第一个,其他镜像未验证)docker安装webshpere,并部署war、ear包_第1张图片
    查看下载成功的镜像docker images
    docker安装webshpere,并部署war、ear包_第2张图片
  2. 使用镜像生成容器并且启动容器:
docker run                 #启动容器的命令,后面跟各种参数 + 容器镜像信息
--name websphere           #指定启动的容器名为 websphere
-h test                    #指定主机名,暂时还没发现有什么用,可配可不配
-e UPDATE_HOSTNAME=true    #访问websphere的ip不是localhost时需要此参数
-p 9043:9043               #指定访问端口号
-p 9443:9443 
--restart=always 
-d ibmcom/websphere-traditional:latest  #后台运行该镜像生成的容器
  1. 查看生成登录的密码:docker exec websphere cat /tmp/PASSWORD
docker exec        #进入容器内部,访问容器
websphere          #指定的容器名
cat /tmp/PASSWORD  #输出容器内 /tmp/PASSWORD 文件中的内容,这条命令输出的内容就是用于登录的密码。

或者麻烦一些:
docker exec -it websphere bash
cat /tmp/PASSWORD

docker exec -it websphere bash     #进入websphere中
cat  /tmp/PASSWORD                 #查看密码,应该可以修改密码,本人还没测试
  1. 通过浏览器访问websphere:
    https://10.1.164.16:9043/ibm/console/login.do?action=secure
10.1.164.16    #当前虚拟机的ip地址(每个人的都不一样)
9043           #设定访问websphere的端口号

顺利的话可以看到结果:docker安装webshpere,并部署war、ear包_第3张图片
输入账号和密码即可进入console内:
docker安装webshpere,并部署war、ear包_第4张图片
注:

  • 如果忘记了websphere的密码,可以使用
    docker exec websphere cat /tmp/PASSWORD
    命令来查看登录该容器的密码,账号都统一为 wsadmin。 (websphere为容器名)
  • 如果容器启动不正常,可以使用docker logs -f websphere 命令来查看容器启动的日志信息,确定错误原因。(websphere为容器名)
  • websphere启动需要的时间会比较长,所以需要参考日志的输出来判断容器是否已经启动,不能立马访问,立马访问是不会有结果的;如果启动成功还是没出现登录界面,可新开一个窗口重新输入地址登录

部署war包

  1. 登录主页后可以看到如下内容,有需要的同志可以配置成中文版,我这里没有配
    docker安装webshpere,并部署war、ear包_第5张图片
  2. 正式步骤:
    docker安装webshpere,并部署war、ear包_第6张图片
    选择war包文件 --> next
    docker安装webshpere,并部署war、ear包_第7张图片
    docker安装webshpere,并部署war、ear包_第8张图片
    下一步默认,next
    docker安装webshpere,并部署war、ear包_第9张图片
    下一步,选中select
    docker安装webshpere,并部署war、ear包_第10张图片
    下一步,选中select,virtual_host 为default_hostdocker安装webshpere,并部署war、ear包_第11张图片
    下一步,尤为重要,设置上下文根,用来访问这个项目,不写的话无法启动。比如如上传的是 mavenDemo.war,Context Root目录下就写 /mavenDemo
    docker安装webshpere,并部署war、ear包_第12张图片
    下一步,finish
    docker安装webshpere,并部署war、ear包_第13张图片
    下一步在这里插入图片描述点击save后,war包已经上传安装成功了。系统自动跳转到启动页面。
    选中刚刚上传的war包(mavenDemo.war),然后点击start。(启动成功时,右侧的红色叉叉会变成绿色箭头)
    docker安装webshpere,并部署war、ear包_第14张图片
    下面可以开始访问,在地址栏输入访问地址: https://安装websphere的主机IP:port/${Context Root栏填写的地址}

例如: https://10.1.162.16:9043/mavenDemo
docker安装webshpere,并部署war、ear包_第15张图片

问题及解决

如果访问出错, 错误内容类似:SRVE0255E: A WebGroup/Virtual Host to handle /p2pd/servlet/dispatch has not been defined.

可通过以下步骤解决:

检查上下文根是否与url一致:
docker安装webshpere,并部署war、ear包_第16张图片
docker安装webshpere,并部署war、ear包_第17张图片
docker安装webshpere,并部署war、ear包_第18张图片
检查项目配置

  1. 点击Applications --> Application Types --> Websphere enterprise ,点击部署出错的那个项目,例如 mavenDemo.war,点击进入Virtual hosts
    docker安装webshpere,并部署war、ear包_第19张图片
  2. 选中 select,并且将virtual hosts选中为 default_host,然后点击 ok。之后会回到 configuration页面,点击上方的 save .
    docker安装webshpere,并部署war、ear包_第20张图片
    docker安装webshpere,并部署war、ear包_第21张图片
    检查环境配置(尤为重要)
    第一步,点击 Environment --> Virtual Hosts ,然后选中 default_host
    docker安装webshpere,并部署war、ear包_第22张图片
    docker安装webshpere,并部署war、ear包_第23张图片
    docker安装webshpere,并部署war、ear包_第24张图片
    点击new的弹出窗口,如此设置即可
    docker安装webshpere,并部署war、ear包_第25张图片
    检测服务配置
    1). 依次选中 Servers --> Server Types --> Websphere Application Servers ,然后选择右侧出现的那个服务,例如我的是 server1

docker安装webshpere,并部署war、ear包_第26张图片
2).选择 Container Settings --> Web Container Settings --> Web Container
确定 Default_virtual_host指定的默认虚拟主机为 default_host ,然后点击 ok . 点击 save 。
docker安装webshpere,并部署war、ear包_第27张图片
docker安装webshpere,并部署war、ear包_第28张图片
最后重新启动 websphere容器,再次访问项目,在地址栏中输入访问链接。 https://10.1.162.16:9043/mavenDemo/便能访问成功。(是https而不是http)

部署ear

第一步,得先有个ear包进行测试

  1. 新建package文件夹,将原有war包(比如11.war)放进去
    docker安装webshpere,并部署war、ear包_第29张图片
    2.新建META-INF文件夹,并在META-INF文件夹下创建application.xml,



  testEar
	
		
			11.war
			/11
		
	

注:
每个代表一个web应用,可添加多个web应用,本测试为方便只创建了一个应用
表示部署到was后,仅表示应用名称。
表示war包名称。
表示部署路径,各module子节点值不要同名。
2. 创建好xml后,进入dos命令,cd到packge目录,输入jar cf test.ear 11.war META-INF/application.xml命令,达成ear包:
注: 也可以使用jar xf test.ear来解压.ear包
docker安装webshpere,并部署war、ear包_第30张图片
3. 至此.ear包创建完成
docker安装webshpere,并部署war、ear包_第31张图片
第二步,部署ear
与部署war包基本一样,本着认真负责的态度,还是贴一下图吧
docker安装webshpere,并部署war、ear包_第32张图片
docker安装webshpere,并部署war、ear包_第33张图片
docker安装webshpere,并部署war、ear包_第34张图片
下一步,选中“Use Binary Configuration”,next
docker安装webshpere,并部署war、ear包_第35张图片
下一步:勾选select,next
docker安装webshpere,并部署war、ear包_第36张图片
下一步:勾选select,next
docker安装webshpere,并部署war、ear包_第37张图片
docker安装webshpere,并部署war、ear包_第38张图片
下一步:点击save
docker安装webshpere,并部署war、ear包_第39张图片
下一步:启动testEar
docker安装webshpere,并部署war、ear包_第40张图片
最后:访问https://10.1.162.16:9043/11/
docker安装webshpere,并部署war、ear包_第41张图片

参考链接:

安装websphere: https://www.cnblogs.com/DFX339/p/8493188.html
部署war包: https://blog.csdn.net/qq_36838191/article/details/95046200
部署war包时问题及解决:
https://blog.csdn.net/jason_wang1989/article/details/47128603
制作ear包: https://blog.csdn.net/AlbenXie/article/details/82702208
部署ear: https://blog.csdn.net/pobinglang/article/details/46330657

你可能感兴趣的:(docker)