日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

如果在docker中部署tomcat,并且部署java应用程序

發(fā)布時(shí)間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如果在docker中部署tomcat,并且部署java应用程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

如果在docker中部署tomcat,并且部署java應(yīng)用程序 博客分類(lèi): docker

1、先說(shuō)如何在docker中部署tomcat

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

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

? ? 第三步:編寫(xiě)Dockerfile,命令如:vim Dockerfile,完成以下命令編寫(xiě):

? ? ? ? ? ? ? ? ? ??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" ]

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

? ? ? 第四步:生成鏡像,命令如:docker build -t test:test_app -f /soft/docker/Dockerfile /root

注意,在這個(gè)過(guò)程中docker需要下載安裝的jdk和tomcat程序所以比較忙,可以通過(guò)命令:docker image查看下,返回的數(shù)據(jù)中第一行有個(gè)REPOSITORY和TAG都是<none>的數(shù)據(jù)行,其中的VIRTUAL_SIZE是階段性變大的,說(shuō)明是在下載。

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

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

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

?

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

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

? ? ? 第一步:上一個(gè)問(wèn)題中我們已經(jīng)知道war包是部署在容器的位置

docker inspect --format='{{ .Config.Volumes}}'? id

?

是:/var/lib/tomcat7/webapps/,那么這個(gè)位置到底在什么地方?使用命令:docker inspect -f "{{.Volumes}}" 容器id,如果不知道容器id,則可以通過(guò):docker ps的方式查看到所有運(yùn)行的容器,也可以通過(guò)docker ps -a的方式查看所有容器,包括運(yùn)行的和不運(yùn)行的。

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

? ? ??map[/var/lib/tomcat7/webapps:/var/lib/docker/vfs/dir/28d6dd0455d92f0160288a56f838d8aeeff402a843bd57d3b21fcd80eac7df02],在這個(gè)map的中括號(hào)里,冒號(hào)前邊的是容器中的目錄,冒號(hào)后邊的對(duì)應(yīng)的宿主主機(jī)中的目錄,所以我們只需要把我們的war包拷貝到這個(gè)地方然后重啟tomcat即可。

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

? ? ? docker restart 容器id

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

? ? ? ?docker logs 容器id,如果要持續(xù)觀察日志,則是:docker logs -f 容器id,這個(gè)時(shí)候日志是從頭開(kāi)時(shí)讀的,如果日志很長(zhǎng)會(huì)刷屏很久,如果只打算看最新的日志可以采用以下的方式: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,這里一定要注意的是最后的英文冒號(hào)前邊是宿主主機(jī)的文件夾路徑,冒號(hào)后邊是容器中的路徑。

?

?

http://blog.csdn.net/achilles12345/article/details/47159043

?

http://blog.csdn.net/rznice/article/details/52211620

?

?

?

4、啟動(dòng)容器(掛載),將software文件夾下的項(xiàng)目同步到tomcat鏡像中并進(jìn)入到該鏡像中(其中鏡像ID是上一步中查找到的tomcat鏡像ID)

?

docker run -i -t -v /root/software/:/mnt/software/ 鏡像ID /bin/bash docker run --name app -d -p 8080:8080 -p 9000:9000 -v /root/web/:/var/lib/tomcat7/webapps/ cf31e0583f61

?

轉(zhuǎn)載于:https://my.oschina.net/xiaominmin/blog/1598875

總結(jié)

以上是生活随笔為你收集整理的如果在docker中部署tomcat,并且部署java应用程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。