Dockerfile 部署java web的環(huán)境詳解
Dockerfile 構(gòu)建java web 環(huán)境
Dockfile 介紹:
Dockfile是一種被Docker程序解釋的腳本,Dockerfile由一條一條的指令組成,每條指令對(duì)應(yīng)Linux下面的一條命令。Docker程序?qū)⑦@些Dockerfile指令翻譯真正的Linux命令。Dockerfile有自己書(shū)寫(xiě)格式和支持的命令,Docker程序解決這些命令間的依賴(lài)關(guān)系,類(lèi)似于Makefile。Docker程序?qū)⒆x取Dockerfile,根據(jù)指令生成定制的image。相比image這種黑盒子,Dockerfile這種顯而易見(jiàn)的腳本更容易被使用者接受,它明確的表明image是怎么產(chǎn)生的。有了Dockerfile,當(dāng)我們需要定制自己額外的需求時(shí),只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻煩。
用dockerfile構(gòu)建一個(gè)Java的web環(huán)境,主要分為2步,
第一步是在鏡像中安裝jdk并配置環(huán)境變量,
第二步是安裝tomcat。
先貼一下完整的dockerfile
FROM ubuntu:14.04 MAINTAINER *** "***@******.com" RUN apt-get update ADD jdk-8u77-linux-x64.tar.gz /usr/local/java ENV JAVA_HOME /usr/local/java/jdk1.8.0_77 ENV PATH $JAVA_HOME/bin:$PATH ENV CLASSPATH .:$JAVA_HOME/lib COPY apache-tomcat-8.0.33/ /usr/local/tomcat/apache-tomcat-8.0.33/ #RUN unzip /usr/local/tomcat/apache-tomcat-8.0.33.zip RUN chmod +x /usr/local/tomcat/apache-tomcat-8.0.33/bin/*.sh EXPOSE 8080 ENTRYPOINT /usr/local/tomcat/apache-tomcat-8.0.33/bin/startup.sh && /bin/bash
原始鏡像是ubuntu14.04,然后將jdk的和tomcat的安裝包放到和dockerfile相同的目錄下。
這個(gè)Dockerfile還是比較簡(jiǎn)單的,jdk和tomcat也都是不需要編譯的,都是解壓即用,所以沒(méi)什么特殊的地方。
Dockerfile編輯完了,就在Dockerfile所在的文件夾下構(gòu)建鏡像
docker build -t="redstarofsleep/javaweb" .
最后運(yùn)行鏡像,運(yùn)行鏡像的時(shí)候記得綁定端口
docker run -d -t -i -p 8081:8080 redstarofsleep/javaweb
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
如何設(shè)置docker開(kāi)機(jī)自啟動(dòng),并設(shè)置容器自動(dòng)重啟
這篇文章主要介紹了如何設(shè)置docker開(kāi)機(jī)自啟動(dòng),并設(shè)置容器自動(dòng)重啟問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法
在使用 Docker 時(shí),經(jīng)常需要?jiǎng)h除不再需要的鏡像、容器和卷,以釋放存儲(chǔ)空間,本文主要介紹了Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02云原生使用Docker部署mysql數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程
使用docker部署mysql,可以省去mysql的安裝配置過(guò)程,而且不限制數(shù)量,即起即用,下面這篇文章主要給大家介紹了關(guān)于云原生使用Docker部署mysql數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程,需要的朋友可以參考下2023-03-03基于Harbor構(gòu)建docker私有倉(cāng)庫(kù)的方法
這篇文章主要介紹了Harbor構(gòu)建docker私有倉(cāng)庫(kù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12DockerToolBox文件掛載的實(shí)現(xiàn)代碼
這篇文章主要介紹了DockerToolBox文件掛載的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12