快捷搜索:

什么样手工陈设war包对应的Java项目,在Docker容器

作者: w88官方网站手机版  发布:2019-11-04

日常的费用大家都以通过IDE实行项指标布置,但有的时候大家只可以举办手工业布置(举个例子在Server上卡塔尔。

本文直接传授怎么着在Docker容器中实战安插叁个Web应用程序,关于Docker相关的定义和怎么样设置Docker请参照他事他说加以考察相关材质实现。

手工业布署分为以下几步:

第一步:工具希图

事必躬亲怎么样在Docker容器中布局三个Java Web应用程序,需要粮草先行粮草先行的软件工具包罗:jre,tomcat和webapp应用。其它,为了贯彻在容器运转时自动运转webapp,需求编制贰个剧本工具达成该工作。

安装jre,请参考

Ubuntu 12.04下安装JDK1.7 http://www.linuxidc.com/Linux/2012-06/62239.htm

Ubuntu 14.04 LTS安装Oracle JDK 1.8  http://www.linuxidc.com/Linux/2014-11/109216.htm

CentOS6.3安装JDK和情形布署 http://www.linuxidc.com/Linux/2012-09/70780.htm

Ubuntu 14.04 安装 JDK8  http://www.linuxidc.com/Linux/2014-09/106218.htm

Ubuntu下安装JDK图像和文字拆解剖析 http://www.linuxidc.com/Linux/2014-09/107291.htm

安装Tomcat,请参考

CentOS 64-bit下安装JDK和Tomcat并安装汤姆cat开机运转操作步骤  http://www.linuxidc.com/Linux/2015-01/111485.htm

Linux(CentOS)下安装 JDK与Tomcat  http://www.linuxidc.com/Linux/2015-01/111119.htm

如何在Tomcat中部署webapp,请参考:

http://www.linuxidc.com/Linux/2015-02/112887.htm

jre1.8.0_31.tar.gz  // 足以选拔其余版本

apache-tomcat-6.0.35.tar.gz // 能够接纳任何版本

MyWeb.war // 本身写贰个web应用就可以,才发觉csdn不允许上传附件

start_tomcat.sh 

第1步: 用maven打war包 (如果获得的war包名字为: appkit-web.war)

其次步:制作镜像

经过编写制定Dockerfile的措施创造镜像。

内需在Dockerfile中成功如下几项工作:

(1)安装jre

(2卡塔 尔(阿拉伯语:قطر‎安装tomcat,并成功在tomcat中布署web应用的着力配置(为完结此功效:在制作镜像从前平昔先达成tomcat的幼功配置,然后直接拷贝到镜像中就能够卡塔 尔(阿拉伯语:قطر‎。

(3卡塔尔国对外开垦8080端口(具体的端口值能够依据实际汤姆cat配置参数为准卡塔 尔(英语:State of Qatar)。

$mkdir docker

$cd docker

$mkdir webapps

$cp jre1.8.0_31.tar.gz .

$tar xzvf jre1.8.0_31.tar.gz

$cp apache-tomcat-6.0.35.tar.gz

$tar xzvf apache-tomcat-6.0.35.tar.gz

$cp MyWeb.war ./webapps/

$vim apache-tomcat-6.0.35/conf/server.xml

编纂tomcat配置文件:server.xml,在<Host>节点中增加如下配置:<Context path="myweb"docBase="/webapps/MyWeb.war" reloadable="false"workDir="/tomcat_work"/>,配置部分如下所示: 

<Host name="localhost"  appBase="webapps"

     unpackWARs="true" autoDeploy="true"

     xmlValidation="false" xmlNamespaceAware="false">

 

  <!-- SingleSignOn valve, shareauthentication between web applications

      Documentation at:/docs/config/valve.html -->

  <!--

  <Valve className="org.apache.catalina.authenticator.SingleSignOn"/>

  -->

 

  <!-- Access log processes all example.

      Documentation at:/docs/config/valve.html -->

  <!--

  <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs" 

        prefix="localhost_access_log." suffix=".txt"pattern="common" resolveHosts="false"/>

  -->

  <Contextpath="/myweb"docBase="/webapps/MyWeb.war"reloadable="false"workDir="/tomcat_work"/>

</Host>

 

$vim start_tomcat.sh

 

#!/bin/bash

 

#Date: 2015/02/02

#Desc:

#      Start tomcat with docker containerstart. 

 

echo "Start Tomcat ..."

 

# Export java path

export PATH=$PATH:/usr/local/java/bin

# Display container ipaddress

ifconfig

# Start tomcat

bash /usr/local/tomcat/bin/catalina.sh run

注意:*启航tomcat时必须通过$TOMCAT_HOME/bin/catalina.sh落成,无法利用$TOMCAT_HOME/bin/startup.sh运行,不然脚本实施后容器立即就淡出了。*

mvn package

编写Dockerfile

#Build java web app container image

FROM docker.cn/docker/ubuntu:14.04

MAINTAINER chenchanghui<nuccch2010.163.com>

#Make java and tomcat install directory

RUN mkdir /usr/local/java

RUN mkdir /usr/local/tomcat

#Copy jre and tomcat into image

ADD jre1.8.0_31 /usr/local/java/

ADD apache-tomcat-6.0.35 /usr/local/tomcat/

ADD start_tomcat.sh start_tomcat.sh

#Expose http port

EXPOSE 8080

万生机勃勃想打包过程中跳过测量试验,接收以下命令:

成立镜像

$sudo docker build -t=”ubuntu/myweb:tomcat”.

 

Sendingbuild context to Docker daemon 270.6 MB

Sendingbuild context to Docker daemon

Step 0 :FROM docker.cn/docker/ubuntu:14.04

 ---> b39b81afc8ca

Step 1 :MAINTAINER chenchanghui <nuccch2010.163.com>

 ---> Running in cd9ba3324dae

 ---> ab45c422bdf5

Removingintermediate container cd9ba3324dae

Step 2 :RUN mkdir /usr/local/java

 ---> Running in f640de521691

 ---> bd94048cb633

Removingintermediate container f640de521691

Step 3 :RUN mkdir /usr/local/tomcat

 ---> Running in de4a392ec89d

 ---> 956ac99b8bec

Removingintermediate container de4a392ec89d

Step 4 :ADD jre1.8.0_31 /usr/local/java/

 ---> e3181a61f635

Removingintermediate container b69c147f28fe

Step 5 :ADD apache-tomcat-6.0.35 /usr/local/tomcat/

 ---> 9169a4ab9a80

Removingintermediate container c190162d7a5c

Step 6 :ADD start_tomcat.sh start_tomcat.sh

 ---> cf61f83dc0b0

Removingintermediate container 3f10c2a9e374

Step 7 :EXPOSE 8080

--->abea02c999a2

Removingintermediate container a3841acba123

Successfullybuilt abea02c999a2

 

mvn package -Dmaven.test.skip=ture

其三部:运转容器

webapp通过数据卷挂在到容器中张开计划,无需拷贝到镜像中。

$sudo docker run -t -i --name tomcat –v /home/$username/docker/webapps:/webapps/

ubuntu/myweb:tomcat /bin/bash/start_tomcat.sh

 

Start Tomcat ...

eth0     Link encap:Ethernet  HWaddr02:42:ac:11:00:0c 

         inet addr:172.17.0.12 Bcast:0.0.0.0  Mask:255.255.0.0

……..

Feb 02, 2015 1:38:42 PMorg.apache.catalina.core.AprLifecycleListener init

INFO: The APR based Apache Tomcat Nativelibrary which allows optimal performance in production environments was notfound on the java.library.path:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

Feb 02, 2015 1:38:42 PMorg.apache.coyote.http11.Http11Protocol init

INFO: Initializing Coyote HTTP/1.1 onhttp-8080

Feb 02, 2015 1:38:42 PMorg.apache.catalina.startup.Catalina load

INFO: Initialization processed in 788 ms

Feb 02, 2015 1:38:42 PMorg.apache.catalina.core.StandardService start

INFO: Starting service Catalina

Feb 02, 2015 1:38:42 PM org.apache.catalina.core.StandardEnginestart

INFO: Starting Servlet Engine: ApacheTomcat/6.0.35

Feb 02, 2015 1:38:42 PMorg.apache.catalina.startup.HostConfig deployDirectory

INFO: Deploying web application directorymanager

Feb 02, 2015 1:38:42 PM org.apache.catalina.startup.HostConfigdeployDirectory

INFO: Deploying web application directorydocs

Feb 02, 2015 1:38:42 PMorg.apache.catalina.startup.HostConfig deployDirectory

INFO: Deploying web application directoryROOT

Feb 02, 2015 1:38:42 PM org.apache.catalina.startup.HostConfigdeployDirectory

INFO: Deploying web application directoryexamples

Feb 02, 2015 1:38:43 PMorg.apache.catalina.startup.HostConfig deployDirectory

INFO: Deploying web application directoryhost-manager

Feb 02, 2015 1:38:43 PM org.apache.coyote.http11.Http11Protocolstart

INFO: Starting Coyote HTTP/1.1 on http-8080

Feb 02, 2015 1:38:43 PMorg.apache.jk.common.ChannelSocket init

INFO: JK: ajp13 listening on /0.0.0.0:8009

Feb 02, 2015 1:38:43 PMorg.apache.jk.server.JkMain start

INFO: Jk running ID=0 time=0/27  config=null

Feb 02, 2015 1:38:43 PMorg.apache.catalina.startup.Catalina start

INFO: Server startup in 842 ms 

如日志所示,Docker容器已经起步,並且在那之中设置的tomcat已经打响运转。

访问: is ok!

小技巧:*开发银行容器时带参数-t -i和不带参数的区分:带参数-t -i时能够通过Ctrl C停止容器运转,不带参数-t -i运维时,截止容器只好通过命令:$sudo docker stop $containerid达成。*

CentOS 6/7雨后冬笋安装Docker http://www.linuxidc.com/Linux/2014-07/104768.htm

Docker的搭建Gitlab CI 全经过精解 http://www.linuxidc.com/Linux/2013-12/93537.htm

Docker安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

Docker安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04安装Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

Ali云CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm

Docker 的详尽介绍:请点这里
Docker 的下载地址:请点这里

本文永远更新链接地址:http://www.linuxidc.com/Linux/2015-02/112889.htm 

w88官方网站手机版 1

第2步: 把war包拷贝到tomcat安装的webapps目录下

cp target/appkit-web.war ~/software/apache-tomcat-7.0.54/webapps/

第3步: 运营tomcat (作者的tomcat的根目录为:/Users/aborn/software/apache-tomcat-7.0.54)

./bin/catalina.sh run

w88官方网站手机版 2

下一场在浏览器中开拓

w88官方网站手机版 3

此间有个难点,它私下认可根目录是要加项目名的,如上加了appkit-web, 那样有一点点财富文件加载不出去(因为能源文件是以根目录为相对路径卡塔 尔(阿拉伯语:قطر‎。

要想改良那些根目录,只要修改汤姆cat的server.xml配置文件(它在 conf/server.xml卡塔尔

在<Host>与</Host>之间加上以下那句话

<Context path="/" docBase="appkit-web" debug="0" privileged="true"/>那些布局的path指的是根目录,docBase指的是war名

w88官方网站手机版 4

如此只要在浏览器上开拓: 就行了。

RedHat Linux 5.5安装JDK Tomcat并部署Java项目  http://www.linuxidc.com/Linux/2015-02/113528.htm

汤姆cat权威指南(第二版)(中国和英国高清PDF版 带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm

汤姆cat 安全配置与品质优化 http://www.linuxidc.com/Linux/2015-02/113060.htm

Linux下利用Xshell查看汤姆cat实时日志普通话乱码应用方案 http://www.linuxidc.com/Linux/2015-01/112395.htm

CentOS 64-bit下安装JDK和汤姆cat并设置汤姆cat开机运转操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm

CentOS 6.5下安装Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm

汤姆cat 的详细介绍:请点这里
汤姆cat 的下载地址:请点这里

w88官方网站手机版,本文永世更新链接地址:http://www.linuxidc.com/Linux/2015-03/115045.htm

w88官方网站手机版 5

本文由www.w88985.com发布于w88官方网站手机版,转载请注明出处:什么样手工陈设war包对应的Java项目,在Docker容器

关键词: www.w88985.c