Dockerfile 分為四部分:基礎鏡像信息、維護者信息、鏡像操作指令和容器啟動時執行指令。’#’ 為 Dockerfile 中的注釋。先看下面一個小例子:
> *一般的,dockerfile文件開發人員不需要太過關注。*
```
#制定基礎鏡像,必須為第一個命令
FROM anapsix/alpine-java:8_server-jre_unlimited
#維護者信息
MAINTAINER deployment deployment@beree.cn
#構建鏡像時執行的命令,這里我們創建一個目錄
RUN mkdir -p /beree/beree-urip-core
#轉到工作目錄。類似 cd ***
WORKDIR /beree/beree-urip-core
#指定于外界交互的端口,比如我們再容器中啟動的端口為8801,那么我們再宿主機使用localhost:801 即可以訪問到容器中801端口對用的應用
EXPOSE 801
#將本地文件添加到容器中,tar類型文件會自動解壓(網絡壓縮資源不會被解壓),可以訪問網絡資源,類似wget
ADD ./target/beree-urip-core.jar ./app.jar
#配置容器,使其可執行化,相當于執行命令 java -Djava.security.egd=file:/dev/./urandom -jar app.jar 要追加任何命令可以直接在 [ ] 數組中追加任何參數,但是要保證排序正確
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
#構建容器后調用,也就是在容器啟動時才進行調用 相當于我們給容器啟動過程增加參數,--spring.profiles.active=test 參數我們一般不再這里定義,我們可以放到 docer-compose 的變量定義里
CMD ["--spring.profiles.active=test"]
```
這里我們只針對我們常用的一些配置進行講解,其它詳細參數可以參見以下:[https://www.cnblogs.com/panwenbin-logs/p/8007348.html](https://www.cnblogs.com/panwenbin-logs/p/8007348.html)