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文件來(lái)創(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目錄,用來(lái)存放jdk文件 RUN mkdir jdk #在/usr/下創(chuàng)建tomcat目錄,用來(lái)存放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.通過(guò)Dockerfile來(lái)創(chuàng)建鏡像
命令:
docker build -t 鏡像名稱(chēng):標(biāo)簽 Dockerfile位置 docker build -t tms:1.0 . (.代表當(dāng)前目錄)
8.至此就把Java Web系統(tǒng)制作成一個(gè)image,通過(guò)docker images來(lái)驗(yàn)證
9.通過(guò)剛構(gòu)建鏡像來(lái)啟動(dòng)一個(gè)Docker 容器
命令: docker run -d -p 宿主機(jī)映射端口:容器暴露端口 --name 容器名 鏡像名稱(chēng)/鏡像ID
-d 參數(shù): 后端啟動(dòng)模式
-p 參數(shù): 宿主機(jī)端口與容器端口的映射
--name 參數(shù): 給容器起個(gè)別名
docker run -d -p 8081:8080 --name 容器名稱(chēng) 鏡像name:鏡像tag
10.通過(guò)docker ps -a來(lái)驗(yàn)證
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Docker部署Java應(yīng)用程序的實(shí)現(xiàn)步驟
- Docker?DockerFile部署java?jar項(xiàng)目包及Mysql和Redis的詳細(xì)過(guò)程
- docker?部署hbase并且java?Api連接的操作過(guò)程
- Docker構(gòu)建Java鏡像并部署Java項(xiàng)目的完整步驟
- 如何使用Docker部署Java項(xiàng)目
- docker部署java服務(wù)的超完整步驟
- 使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟
- Docker使用java項(xiàng)目工程的部署
相關(guān)文章
Docker 部署net5程序?qū)崿F(xiàn)跨平臺(tái)功能
本文講述使用docker容器部署.net5項(xiàng)目、實(shí)現(xiàn)跨平臺(tái),本文通過(guò)圖文的形式給大家介紹了創(chuàng)建.net5項(xiàng)目的過(guò)程及安裝成功后如何使用docker部署項(xiàng)目,感興趣的朋友跟隨小編一起學(xué)習(xí)吧2021-05-05半小時(shí)實(shí)現(xiàn)基于ChatGPT搭建微信機(jī)器人
這篇文章主要為大家介紹了基于ChatGPT搭建微信機(jī)器人過(guò)程示例詳解,半小時(shí)就能完成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02docker的harbor倉(cāng)庫(kù)登錄問(wèn)題小結(jié)
在使用Docker?Harbor時(shí),可能會(huì)因?yàn)樽C書(shū)信任問(wèn)題或DNS解析問(wèn)題導(dǎo)致登錄失敗,解決方法包括將自簽名證書(shū)添加到系統(tǒng)的可信證書(shū)存儲(chǔ)中,本文給大家介紹docker的harbor倉(cāng)庫(kù)登錄問(wèn)題,感興趣的朋友一起看看吧2024-09-09Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法
在使用 Docker 時(shí),經(jīng)常需要?jiǎng)h除不再需要的鏡像、容器和卷,以釋放存儲(chǔ)空間,本文主要介紹了Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02