天天看點

Docker-制作Spring MVC工程鏡像

  Spring MVC工程一般運作在Tomcat或者Jetty上,本文以Tomcat為例,那麼我們首先得要有Tomcat的環境,有多種方式制作Spring MVC工程的鏡像。

  1. 你可以先部署一個Tomcat鏡像的容器,然後将war包拷入容器内Tomcat webapp 目錄下運作,然後在容器外執行如下指令生成新的鏡像
docker commit CONTAINERID IMAGENAME:TAG
           
  1. 以Tomcat的鏡像作為基礎鏡像編寫我們的Dockerfile,将war包拷貝到tomcat webapp 目錄下,這裡的application需要根據你的war包名來修改。

Dockerfile

FROM tomcat:9.0.10-jre8
COPY {application}.war /usr/local/tomcat/webapps/
           

編寫完Dockerfile後,将war包和Dockerfile放入同一級目錄,然後運作指令生成Docker鏡像

docker build -t [image-name]:[Version] .
           

最後就可以使用docker run指令生成一個容器運作這個鏡像了

docker run -d -p 8080:8080 --name [container-name] [image-name]:[Version]
           

  這樣制作出來的鏡像有一個弊端,那就是配置沒有提取出來,如果鏡像運作的生産環境有變更,導緻Spring MVC工程内的spring config或其他properties配置檔案需要修改,就隻能重新做鏡像或到容器内去修改配置,不是很友善,更好的做法是把容易發生變化的配置做成環境變量,在運作時傳進去。