1. dockerfile 構建鏡像步驟
- 編寫dockerfile文件
- docker build 構建出鏡像
- docker run 運行鏡像
- docker push 發(fā)布鏡像
2. dockerfile 語法
FROM # 從哪個基礎鏡像開始構建
MAINTAINER # 鏡像作者
RUN # 構建鏡像需要運行的命令
ADD # 將文件從路徑<src> 復制添加到容器路徑 <dest>
WORKDIR # 切換工作目錄滚秩,docker默認工作目錄是 /
VOLUME # 掛載的目錄闻书,一般用來存放需要保持的數(shù)據(jù)
EXPOSE # 容器暴露的端口
CMD # 容器啟動運行的命令血淌,有多個的話,只有最后一個生效
ENTRYPOINT # 容器啟動運行的命令奔害,可以追加
ONBUILD # 讓指令延遲執(zhí)行,延遲到下一個使用FROM的dockerfile建立image時執(zhí)行系宜,只延遲一次
COPY # 與ADD作用相同俺叭,不過ADD會解壓文件
ENV # 構建的時候設置環(huán)境變量
3. dockerfile 構建與運行springboot鏡像
-
創(chuàng)建Dockerfile文件
FROM java:8 # 以java8鏡像作為基礎鏡像 MAINTAINER zhijiuqian # 作者 WORKDIR app # 指定容器內運行命令的工作目錄 ADD iflytek-monitor-0.0.1-SNAPSHOT.jar app.jar # 將jar包拷貝到鏡像中,命名為app.jar EXPOSE 7777 # 暴露容器端口為7777妒貌,iflytek-monitor-0.0.1-SNAPSHOT.jar應用的啟動端口也是7777 ENTRYPOINT ["java","-jar","app.jar"] # 啟動命令
-
將Dockerfile 與 iflytek-monitor-0.0.1-SNAPSHOT.jar 都上傳到服務器同一目錄
-
構建鏡像
docker build -t iflytek-monitor:v1.0 . # 注意后面有個點通危;如果Dockerfile 不在當前目錄,可用 -f指定路徑;
-
docker ps -a 查看鏡像
-
運行鏡像
docker run -d -p 7777:7777 iflytek-monitor:v1.0 # 注意打開服務器安全組的7777端口
本地通過瀏覽器訪問服務器ip:7777就能看到docker啟動的springboot 應用啦~