日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义镜像-Dockerfile

發布時間:2024/4/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义镜像-Dockerfile 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dockerfile語法

構建自定義的鏡像時,并不需要一個個文件去拷貝,打包。

我們只需要告訴Docker,我們的鏡像的組成,需要哪些BaseImage、需要拷貝什么文件、需要安裝什么依賴、啟動腳本是什么,將來Docker會幫助我們構建鏡像。

而描述上述信息的文件就是Dockerfile文件。

Dockerfile就是一個文本文件,其中包含一個個的指令(Instruction),用指令來說明要執行什么操作來構建鏡像。每一個指令都會形成一層Layer。

更新詳細語法說明,請參考官網文檔: Dockerfile reference | Docker Documentation

基于Ubuntu構建Java項目

需求:基于Ubuntu鏡像構建一個新鏡像,運行一個java項目

  • 步驟1:新建一個空文件夾docker-demo

  • 步驟2:拷貝課前資料中的docker-demo.jar文件到docker-demo這個目錄

?

  • ?步驟3:拷貝課前資料中的jdk8.tar.gz文件到docker-demo這個目錄

  • 步驟4:拷貝課前資料提供的Dockerfile到docker-demo這個目錄 ?

?其中的內容如下:

# 指定基礎鏡像 FROM ubuntu:16.04 # 配置環境變量,JDK的安裝目錄 ENV JAVA_DIR=/usr/local# 拷貝jdk和java項目的包 COPY ./jdk8.tar.gz $JAVA_DIR/ COPY ./docker-demo.jar /tmp/app.jar# 安裝JDK RUN cd $JAVA_DIR \&& tar -xf ./jdk8.tar.gz \&& mv ./jdk1.8.0_144 ./java8# 配置環境變量 ENV JAVA_HOME=$JAVA_DIR/java8 ENV PATH=$PATH:$JAVA_HOME/bin# 暴露端口 EXPOSE 8090 # 入口,java項目的啟動命令 ENTRYPOINT java -jar /tmp/app.jar
  • 步驟5:進入docker-demo

    將準備好的docker-demo上傳到虛擬機任意目錄,然后進入docker-demo目錄下

  • 步驟6:運行命令:

docker build -t javaweb:1.0 .

最后訪問 http://192.168.150.101:8090/hello/count,其中的ip改成你的虛擬機ip

基于java8構建Java項目

雖然我們可以基于Ubuntu基礎鏡像,添加任意自己需要的安裝包,構建鏡像,但是卻比較麻煩。所以大多數情況下,我們都可以在一些安裝了部分軟件的基礎鏡像上做改造。

例如,構建java項目的鏡像,可以在已經準備了JDK的基礎鏡像基礎上構建。

需求:基于java:8-alpine鏡像,將一個Java項目構建為鏡像

實現思路如下:

  • ① 新建一個空的目錄,然后在目錄中新建一個文件,命名為Dockerfile

  • ② 拷貝課前資料提供的docker-demo.jar到這個目錄中

  • ③ 編寫Dockerfile文件:

    • a )基于java:8-alpine作為基礎鏡像

    • b )將app.jar拷貝到鏡像中

    • c )暴露端口

    • d )編寫入口ENTRYPOINT

      內容如下:

FROM java:8-alpine COPY ./app.jar /tmp/app.jar EXPOSE 8090 ENTRYPOINT java -jar /tmp/app.jar
  • ④ 使用docker build命令構建鏡像

  • ⑤ 使用docker run創建容器并運行

小結

小結:

  • Dockerfile的本質是一個文件,通過指令描述鏡像的構建過程

  • Dockerfile的第一行必須是FROM,從一個基礎鏡像來構建

  • 基礎鏡像可以是基本操作系統,如Ubuntu。也可以是其他人制作好的鏡像,例如:java:8-alpine

  • 總結

    以上是生活随笔為你收集整理的自定义镜像-Dockerfile的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。