欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在docker中部署tomcat并且部署java應(yīng)用程序的步驟詳解

 更新時(shí)間:2016年10月08日 16:50:22   作者:坐忘峰  
本文給大家介紹如何在docker中部署tomcat及如何部署我們的應(yīng)用程序到docker容器的tomcat里,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,一起看看吧

先給大家簡單說下Docker的概念

Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。

1、先說如何在docker中部署tomcat

第一步:root用戶登錄在系統(tǒng)根目錄下創(chuàng)建文件夾tomcat7,命令如:mkdir tomcat7,并且切換到該目錄下:cd tomcat7;

第二步:創(chuàng)建Dockerfile,命令如:touch Dockerfile;

第三步:編寫Dockerfile,命令如:vim Dockerfile,完成以下命令編寫:

FROM ubuntu:14.04
MAINTAINER zhaichong <344616313@qq.com>
ENV REFRESHED_AT 2015-7-28
RUN apt-get -yqq update
RUN apt-get -yqq install tomcat7 default-jdk
ENV CATALINA_HOME /usr/share/tomcat7
ENV CATALINA_BASE /var/lib/tomcat7
ENV CATALINA_PID /var/run/tomcat7.pid
ENV CATALINA_SH /usr/share/tomcat7/bin/catalina.sh
ENV CATALINA_TMPDIR /tmp/tomcat7-tomcat7-tmp
RUN mkdir -p $CATALINA_TMPDIR
VOLUME ["/var/lib/tomcat7/webapps/"]
EXPOSE 8080 9000
ENTRYPOINT ["/usr/share/tomcat7/bin/catalina.sh", "run" ]

說明:這里的EXPOSE要把程序中需要使用到的端口都要暴露出去。根據(jù)環(huán)境變量CATALINA_BASE可以知道VOLUME指定的目錄就是tomcat部署war包的目錄。

第四步:生成鏡像,命令如:docker build -t test/test_app . (注意這里有個(gè)英文的句號);注意,在這個(gè)過程中docker需要下載安裝的jdk和tomcat程序所以比較忙,可以通過命令:docker image查看下,返回的數(shù)據(jù)中第一行有個(gè)REPOSITORY和TAG都是<none>的數(shù)據(jù)行,其中的VIRTUAL_SIZE是階段性變大的,說明是在下載。

第五步:運(yùn)行鏡像生成容器,命令如:docker run --name test_app -d -p 8080:8080 -p 9000:9000 鏡像id,如果不知道鏡像id是多少就使用命令:docker images查看下,注意這里把EXPOSE出來的端口和宿主主機(jī)的端口綁定起來了,以后就可以使用宿主主機(jī)的IP地址和這個(gè)端口來訪問docker容器中的tomcat以及其中的應(yīng)用程序了。

第六步:測試:在瀏覽器地址欄敲:http://宿主主機(jī)ip:8080/,好了成功了。

可以使用命令:docker port 容器id 8080,這個(gè)命令查看容器的8080端口和宿主主機(jī)端口之間的映射關(guān)系,而已看出來現(xiàn)在容器的8080端口映射的是宿主主機(jī)的8080端口。

2、再說如何部署我們的應(yīng)用程序到docker容器的tomcat里?

大家知道tomcat在容器中,如果要像在宿主主機(jī)上那樣部署tomcat應(yīng)用程序肯定是不行的。那么采用什么辦法呢?

第一步:上一個(gè)問題中我們已經(jīng)知道war包是部署在容器的位置是:/var/lib/tomcat7/webapps/,那么這個(gè)位置到底在什么地方?使用命令:docker inspect -f "{{.Volumes}}" 容器id,如果不知道容器id,則可以通過:docker ps的方式查看到所有運(yùn)行的容器,也可以通過docker ps -a的方式查看所有容器,包括運(yùn)行的和不運(yùn)行的。

會得出以下的結(jié)果:

map[/var/lib/tomcat7/webapps:/var/lib/docker/vfs/dir/28d6dd0455d92f0160288a56f838d8aeeff402a843bd57d3b21fcd80eac7df02],

在這個(gè)map的中括號里,冒號前邊的是容器中的目錄,冒號后邊的對應(yīng)的宿主主機(jī)中的目錄,所以我們只需要把我們的war包拷貝到這個(gè)地方然后重啟tomcat即可。

這里要注意,由于我們上邊寫的Dockerfile中默認(rèn)容器啟動(dòng)時(shí)是會啟動(dòng)tomcat的,所以這里只需要重啟容器就能讓tomcat把我們的容器加載上,命令如:

docker restart 容器id

3、如果要看成tomcat的日志呢?比如查看啟動(dòng)時(shí)的日志,則可以使用命令:

docker logs 容器id,如果要持續(xù)觀察日志,則是:docker logs -f 容器id,這個(gè)時(shí)候日志是從頭開時(shí)讀的,如果日志很長會刷屏很久,如果只打算看最新的日志可以采用以下的方式:docker logs --tail 0 -f 容器id

注意,有的時(shí)候我們想在執(zhí)行docker run命令的時(shí)候才指定映射的Volumes,則可以使用如下命令:

docker run --name gboat2_ca -d -p 8080:8080 -p 9000:9000 --link db001:db_ca -v /home/webapp/ca:/var/lib/tomcat7/webapps/ 64de1445c34c

這里一定要注意的是最后的英文冒號前邊是宿主主機(jī)的文件夾路徑,冒號后邊是容器中的路徑。

以上所述是小編給大家介紹的在docker中部署tomcat并且部署java應(yīng)用程序的步驟詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • docker-compose中變量的使用方式

    docker-compose中變量的使用方式

    這篇文章主要介紹了docker-compose中變量的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker的安裝方法及運(yùn)行Docker Swarm模式的使用

    Docker的安裝方法及運(yùn)行Docker Swarm模式的使用

    本文給大家簡單介紹docker的安裝以及1.12版本的swarm模式的使用,包括docker的安裝和配置,對docker swarm簡單使用感興趣的朋友一起看看吧
    2016-11-11
  • docker 實(shí)現(xiàn)容器與宿主機(jī)無縫調(diào)用shell命令

    docker 實(shí)現(xiàn)容器與宿主機(jī)無縫調(diào)用shell命令

    這篇文章主要介紹了docker 實(shí)現(xiàn)容器與宿主機(jī)無縫調(diào)用shell命令的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨想過來看看吧
    2021-03-03
  • Docker簡單安裝與應(yīng)用入門教程

    Docker簡單安裝與應(yīng)用入門教程

    這篇文章主要介紹了Docker簡單安裝與應(yīng)用,結(jié)合實(shí)例形式分析了Docker常見的安裝、應(yīng)用構(gòu)建、終端訪問等操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • 利用Dockerfile制作個(gè)人的鏡像文件詳細(xì)講解

    利用Dockerfile制作個(gè)人的鏡像文件詳細(xì)講解

    Docker是一個(gè)開源的應(yīng)用容器引擎,Dockerfile是用來構(gòu)建Docker鏡像的構(gòu)建文件,是由一系列命令和參數(shù)構(gòu)成的腳本,本文將給大家詳細(xì)介紹如何利用Dockerfile制作個(gè)人的鏡像文件,感興趣的同學(xué)可以借鑒參考
    2023-06-06
  • Docker鏡像構(gòu)建之docker commit的使用

    Docker鏡像構(gòu)建之docker commit的使用

    本文主要介紹了Docker鏡像構(gòu)建之docker commit的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 在Docker容器中不需要運(yùn)行sshd的原因淺析

    在Docker容器中不需要運(yùn)行sshd的原因淺析

    在一個(gè)容器中運(yùn)行SSH服務(wù)器,這真的是一個(gè)錯(cuò)誤(大寫字母W)嗎?老實(shí)說,沒那么嚴(yán)重。當(dāng)你不去訪問Docker主機(jī)的時(shí)候,這樣做甚至是極其方便的,但是這仍然需要在容器中取得一個(gè)shell
    2016-11-11
  • docker環(huán)境變量配置不生效/ect/profile的解決方法

    docker環(huán)境變量配置不生效/ect/profile的解決方法

    docker在使用過程中,有時(shí)候自定義容器實(shí)例中的某些配置文件,本文主要介紹了docker環(huán)境變量配置不生效/ect/profile的解決方法,感興趣的可以了解一下
    2023-08-08
  • docker部署安裝jenkins的實(shí)現(xiàn)步驟

    docker部署安裝jenkins的實(shí)現(xiàn)步驟

    本文主要介紹了docker部署安裝jenkins的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • docker用root進(jìn)入容器的操作

    docker用root進(jìn)入容器的操作

    這篇文章主要介紹了docker用root進(jìn)入容器的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論