參考文檔:Install Docker for Macjava
假設名爲 hellodocker
進入項目根路徑,新建 Dockerfile,內容以下:瀏覽器
FROM maven:3.3.3 ADD pom.xml /tmp/build/ RUN cd /tmp/build && mvn -q dependency:resolve ADD src /tmp/build/src #構建應用 RUN cd /tmp/build && mvn -q -DskipTests=true package \ #拷貝編譯結果到指定目錄 && mv target/*.jar /app.jar \ #清理編譯痕跡 && cd / && rm -rf /tmp/build VOLUME /tmp EXPOSE 8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
因爲項目使用 Maven 構建,故本次基礎鏡像選用 maven:3.3.3 官方鏡像。
官方維護的 Maven 鏡像依賴於 Java 鏡像構建,因此咱們不須要使用 Java 鏡像。
由於 Spring Boot 框架打包的應用是一個包含依賴的 jar 文件,內嵌了 Tomcat 和 Jetty 支持,因此咱們只須要使用包含 Java 的 Maven 鏡像便可,不須要 Tomcat 鏡像。app
爲了減小鏡像大小,在執行 Maven 構建以後,清理了構建痕跡。框架
在 Dockerfile 文件的最後,使用 ENTRYPOINT 指令執行啓動 Java 應用的操做。dom
Dockerfile 具體語法請參考:Dockerfilecurl
在一切準備好以後,在應用根目錄執行以下命令,構建 Docker 鏡像:maven
docker build -t hello .
構建成功後,從鏡像啓動容器:ui
docker run -d -p 8080:8080 hello
打開瀏覽器,或者使用 curl 訪問地址 http://localhost:8080url