Docker學(xué)習(xí)筆記之Docker部署Java web系統(tǒng)
Docker部署Java Web系統(tǒng)
1.在root目錄下創(chuàng)建一個(gè)路徑test/app mkdir test && cd test&& mkdir app &&cd app
2.將apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷貝 到app目錄下
3.解壓兩個(gè)tar.gz文件
tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux-x64.tar.gz
4.對(duì)解壓后的文件進(jìn)行重命名
mv apache-tomcat-7.0.29 tomcat mv jdk-7u25-linux-x64 jdk
5.在app目錄下,制作Dockerfile文件來創(chuàng)建鏡像
touch Dockerfile
6.Dockerfile文檔內(nèi)容及注解
-----------------------------Dockerfile內(nèi)容----------------------------------
#使用ubuntu:14.04作為基礎(chǔ)鏡像 FROM ubuntu:14.04 #指定鏡像創(chuàng)建者信息 MAINTAINER test xxxx@xxx.com #創(chuàng)建日期 ENV REFRESHED_AT 2017-2-15 #切換鏡像目錄,進(jìn)入/usr目錄 WORKDIR /usr #在/usr/下創(chuàng)建jdk目錄,用來存放jdk文件 RUN mkdir jdk #在/usr/下創(chuàng)建tomcat目錄,用來存放tomcat RUN mkdir tomcat #切換鏡像的目錄至/usr/jdk WORKDIR /usr/jdk/ #將宿主機(jī)的jdk目錄下的文件拷至鏡像的/usr/jdk目錄下 ADD jdk /usr/jdk #切換鏡像的目錄至/usr/tomcat WORKDIR /usr/tomcat #將宿主機(jī)的tomcat目錄下的文件拷至鏡像的/usr/tomcat目錄下 ADD tomcat /usr/tomcat #設(shè)置環(huán)境變量 ENV JAVA_HOME=/usr/jdk ENV JAVA_BIN=/usr/jdk/bin ENV PATH=$PATH:$JAVA_HOME/bin ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #切換工作目錄到ROOT下 WORKDIR /usr/tomcat/webapps/ROOT #刪除tomcat默認(rèn)的項(xiàng)目文件 RUN rm -rf * #將自己的xxx.war系統(tǒng)添加到docker鏡像中tomcat下的ROOT目錄下 ADD webapp /usr/tomcat/webapps/xxx.war #公布tomcat的8080端口 EXPOSE 8080 #啟動(dòng)tomcat ENTRYPOINT ["../../bin/catalina.sh","run"]
---------------------------------------------------------------------------------
7.通過Dockerfile來創(chuàng)建鏡像
命令:
docker build -t 鏡像名稱:標(biāo)簽 Dockerfile位置 docker build -t tms:1.0 . (.代表當(dāng)前目錄)


8.至此就把Java Web系統(tǒng)制作成一個(gè)image,通過docker images來驗(yàn)證
9.通過剛構(gòu)建鏡像來啟動(dòng)一個(gè)Docker 容器
命令: docker run -d -p 宿主機(jī)映射端口:容器暴露端口 --name 容器名 鏡像名稱/鏡像ID
-d 參數(shù): 后端啟動(dòng)模式
-p 參數(shù): 宿主機(jī)端口與容器端口的映射
--name 參數(shù): 給容器起個(gè)別名
docker run -d -p 8081:8080 --name 容器名稱 鏡像name:鏡像tag
10.通過docker ps -a來驗(yàn)證
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案
這篇文章主要介紹了遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案的相關(guān)資料,需要的朋友可以參考下2023-01-01
docker利用WebHook實(shí)現(xiàn)持續(xù)集成
這篇文章主要介紹了docker利用WebHook實(shí)現(xiàn)持續(xù)集成的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01
解決docker加載新的鏡像后repository和tag名稱都為none的問題
這篇文章主要介紹了解決docker加載新的鏡像后repository和tag名稱都為none的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
docker的基本使用及使如何用Docker 運(yùn)行D435i
這篇文章主要介紹了docker的基本使用及使如何用Docker 運(yùn)行D435i,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11
Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置
在Docker中,默認(rèn)情況下數(shù)據(jù)存儲(chǔ)路徑為/var/lib/docker,隨著容器和鏡像數(shù)量的增加,這可能會(huì)占用大量磁盤空間,這篇文章主要給大家介紹了關(guān)于Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置的相關(guān)資料,需要的朋友可以參考下2024-08-08

