1. 程式人生 > >DockerFile的簡單使用製作tomcat war包映象

DockerFile的簡單使用製作tomcat war包映象

思考:假設我們要部署一套環境,多個機房部署,你會怎麼做?一個一個遠端安裝jdk,mysql,redis等等。。好麻煩是不是?那DockerFile就幫你解決了這個問題。

一、初步瞭解DockerFile

DockerFile的作用就是將你需要的所有的映象打包成一個DockerFile製作成一個全新的映象(就是對映象的定製),這個映象裡有可能有配置好的redis和mysql的叢集,nginx和tomcat等等。多機房部署只需要執行這個映象就好了。

映象的定製實際上就是定製每一層所新增的配置、檔案。如果我們可以把每一層修改、安裝、構建、操作的命令都寫入一個指令碼,用這個指令碼來構建、定製映象,那麼之前提及的無法重複的問題、映象構建透明性的問題、體積的問題就都會解決。這個指令碼就是 Dockerfile。

Dockerfile 是一個文字檔案,其內包含了一條條的指令(Instruction),每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建

二、實踐操作

還是用我們上一章的專案檢視上一篇文章,我們要把war包和tomcat打包成一個映象。

①首先我們先建立一個DockerFile

vi Dockerfile

嗯,這樣一個DockerFile就建立完了....當然我們要寫點東西。

嗯。。就這兩行。因為我們下載好的tomcat裡已經有jdk環境變量了,所以不用配置。我們要做的就是把tomcat映象拉下來,然後複製我們的war包到映象裡的目錄中。

②接下來我們構建一下。

docker build -t diy_tomcat .

docker images 我們的映象已經在倉庫中了。

我們現在進這個diy_tomcat中看看我們的war包是否在裡邊。

③啟動映象

我們之前啟動tomcat還要掛載war包,我們現在把war包和tomcat搞到了一起,製作了一個新的映象,就不要掛載了 不過--link還是不能少的。

docker run --name docker_diy_tomcat -p 8082:8080 -d  --link docker_redis:docker_redis--link docker_mysql:docker_mysql  c79901aa11f0


 

我們成功起來了,下面我們進入這個容器中看看war包是否真的存在呢?

④進入容器

docker exec -it  docker_diy_tomcat bash


看來確實存在的。

那我們測試來看看

是的我們成功了。