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

本文详细介绍了如何在Docker中安装WebSphere,包括拉取镜像、启动容器、查看密码和访问管理控制台。接着,文章详述了war包和ear包的部署过程,包括设置上下文根、启动应用,并解决了可能出现的访问错误问题。最后,提供了相关参考资料链接。

安装websphere

  1. 获取websphere镜像:
    docker pull ibmcom/websphere-traditional
    执行此命令前,可以使用docker search ibmcom先看下准确镜像,然后在拉取。比如我的是(一般选取星数较多的镜像,但貌似不同镜像生成的容器配置不同,此处我选的是第一个,其他镜像未验证)在这里插入图片描述
    查看下载成功的镜像docker images
    在这里插入图片描述
  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的端口号

顺利的话可以看到结果:在这里插入图片描述
输入账号和密码即可进入console内:
在这里插入图片描述
注:

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

部署war包

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

例如: https://10.1.162.16:9043/mavenDemo
在这里插入图片描述

问题及解决

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

可通过以下步骤解决:

检查上下文根是否与url一致:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检查项目配置

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

在这里插入图片描述
2).选择 Container Settings --> Web Container Settings --> Web Container
确定 Default_virtual_host指定的默认虚拟主机为 default_host ,然后点击 ok . 点击 save 。
在这里插入图片描述
在这里插入图片描述
最后重新启动 websphere容器,再次访问项目,在地址栏中输入访问链接。 https://10.1.162.16:9043/mavenDemo/便能访问成功。(是https而不是http)

部署ear

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

  1. 新建package文件夹,将原有war包(比如11.war)放进去
    在这里插入图片描述
    2.新建META-INF文件夹,并在META-INF文件夹下创建application.xml,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
	"-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
	"http://java.sun.com/dtd/application_1_3.dtd">
<application>
  <display-name>testEar</display-name>
	<module>
		<web>
			<web-uri>11.war</web-uri>
			<context-root>/11</context-root>
		</web>
	</module>
</application>

注:
每个<module></module>代表一个web应用,可添加多个web应用,本测试为方便只创建了一个应用
<display-name></display-name>表示部署到was后,仅表示应用名称。
<web-uri></web-url>表示war包名称。
<context-root></context-root>表示部署路径,各module子节点值不要同名。
2. 创建好xml后,进入dos命令,cd到packge目录,输入jar cf test.ear 11.war META-INF/application.xml命令,达成ear包:
注: 也可以使用jar xf test.ear来解压.ear包
在这里插入图片描述
3. 至此.ear包创建完成
在这里插入图片描述
第二步,部署ear
与部署war包基本一样,本着认真负责的态度,还是贴一下图吧
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下一步,选中“Use Binary Configuration”,next
在这里插入图片描述
下一步:勾选select,next
在这里插入图片描述
下一步:勾选select,next
在这里插入图片描述
在这里插入图片描述
下一步:点击save
在这里插入图片描述
下一步:启动testEar
在这里插入图片描述
最后:访问https://10.1.162.16:9043/11/
在这里插入图片描述

参考链接:

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

### 回答1: 使用Docker安装Tomcat部署WAR的步骤如下: 1.首先需要安装DockerDocker Compose。 2.创建一个Dockerfile文件,其中Tomcat的安装和配置。 3.将WAR复制到Dockerfile所在的目录中。 4.创建一个docker-compose.yml文件,其中Tomcat容器的配置和WAR的挂载。 5.执行docker-compose up命令启动容器。 6.访问http://localhost:8080/deployed_war_file路径,即可查看部署WAR应用。 ### 回答2: 首先,为了在Docker部署Tomcat,我们需要创建一个Docker镜像,该镜像含了Tomcat的安装和配置。我们可以使用一个基础镜像(如CentOS),在其中安装Tomcat,然后保存该镜像以便以后使用。我们可以使用Dockerfile来构建这个镜像,Dockerfile中含了所有步骤,可以简化镜像的构建和维护。 以下是一个使用Dockerfile构建Tomcat镜像的示例: ``` FROM centos:latest RUN yum -y install wget RUN wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz RUN tar -xzf apache-tomcat-8.5.23.tar.gz RUN mv apache-tomcat-8.5.23 /usr/local/tomcat ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH EXPOSE 8080 CMD [“catalina.sh”, “run”] ``` 这个Dockerfile执行以下操作: - 基于CentOS镜像构建一个新的镜像 - 安装wget,以便后续下载Tomcat - 下载Tomcat 8.5.23版本的压缩解压到/usr/local/tomcat目录下 - 设置环境变量CATALINA_HOME和PATH - 暴露Tomcat的默认端口8080 - 启动Tomcat 使用以上Dockerfile创建Tomcat的Docker镜像,然后我们就可以在该镜像上部署warwar是Web应用程序的一种打方式,通常含了所有的源代码、配置文件和依赖库。war可以通过Tomcat的webapps目录进行部署。 以下是具体的步骤: 1. 将war放到一个本地目录下,如:/data/webapp/ 2. 使用以下命令将war拷贝到Tomcat的webapps目录下: ``` docker run -it -v /data/webapp:/usr/local/tomcat/webapps my-tomcat-image cp /data/webapp/my-webapp.war /usr/local/tomcat/webapps/ ``` 其中,/data/webapp是本地目录,my-tomcat-image是Tomcat的Docker镜像名称,my-webapp.war是要部署war名称。 3. 启动Tomcat容器,命令如下: ``` docker run -d -p 8080:8080 my-tomcat-image ``` 其中,-d表示在后台运行容器,-p表示将Tomcat的端口8080映射到主机的端口8080。 完成以上步骤后,Tomcat容器将会在后台运行,部署的web应用程序也会自动启动。我们可以使用浏览器访问http://localhost:8080/my-webapp来访问该应用程序。 ### 回答3: Docker 是一种轻量级的容器化技术,可以将应用程序和其依赖的库打成一个可移植的容器,方便部署和管理。Tomcat 是一个常用的 Java Web 应用程序服务器,通过 Docker 可以快速部署运行 Tomcat。以下是在 Docker安装 Tomcat 部署 war 的步骤: 1. 安装 Docker 在 Linux 下可以通过命令行方式安装 Docker。在 Windows 和 macOS 下可以通过 Docker Desktop 进行安装。 2. 下载 Tomcat 镜像 在 Docker Hub 上搜索 Tomcat 镜像,选择适合的版本进行下载。 3. 启动容器 使用下载的 Tomcat 镜像启动一个容器: ``` docker run -d --name=my-tomcat -p 8080:8080 tomcat:latest ``` 上述命令会在后台启动一个名为 my-tomcat 的容器,将主机的 8080 端口映射到容器的 8080 端口。 4. 上传 war 将需要部署war 上传到容器中: ``` docker cp app.war my-tomcat:/usr/local/tomcat/webapps/ ``` 上述命令将 app.war 拷贝到容器内 Tomcat 的 webapps 目录中。 5. 访问应用程序 在浏览器中访问容器所在主机的 8080 端口: ``` http://localhost:8080/app ``` 其中,app 是 war 的文件名(不含 .war 后缀)。 以上就是在 Docker安装 Tomcat 部署 war 的步骤。 Docker 技术的魅力在于它的可移植性和易于管理,使得应用程序的部署和维护变得更加简单和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值