欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker使用Dockerfile自定義鏡像方式

 更新時間:2024年08月08日 09:42:33   作者:溫柔哥`  
這篇文章主要介紹了Docker使用Dockerfile自定義鏡像方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

什么是Dockerfile

Dockerfile就是一個文本文件,其中包含一個個的指令(Instruction),用指令來說明要執(zhí)行什么操作來構(gòu)建鏡像

每一個指令都會形成一層Layer。  

常見指令

注意:第一行必須是 FROM 指令才行

看實例

需求:

基于Ubuntu鏡像構(gòu)建一個新鏡像,運行一個java項目

1.下載資料

將本文最上面的資源下載到本地

2.查看Dockerfile

等會我們直接使用這個文件就可以依次執(zhí)行這些指令幫助我們構(gòu)建好自己的鏡像(每個指令都會分一層)

# 指定基礎(chǔ)鏡像
FROM ubuntu:16.04
# 配置環(huán)境變量,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

# 配置環(huán)境變量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin

# 暴露端口
EXPOSE 8090
# 入口,java項目的啟動命令
ENTRYPOINT java -jar /tmp/app.jar

3.新建目錄

mkdir docker-demo
cd docker-demo

4.上傳資料

直接借助 FinalShell 拖動上傳即可:

5.構(gòu)建鏡像

docker build -t javaweb:1.0 .

最后空格后面要加一個點,代表的是Dockerfile所在的目錄(也就是我們現(xiàn)在所在的 docker-demo 目錄)

可以看到鏡像構(gòu)建完成了

6.啟動容器

docker run --name my-javaweb -p 8090:8090 -d javaweb:1.0

啟動成功

7.瀏覽器訪問

http://自己的服務(wù)器地址:8090/hello/count

四、實例升級

1.為什么升級

其實之前的實例中我們的 Dockerfile 還可以簡化一些不需要我們寫的東西,當(dāng)然并不是不用寫了,而是別人幫我們寫好了

2.如何升級

Ⅰ.更改 Dockerfile

我們可以直接基于已經(jīng)安裝好 jdk 的鏡像 openjdk:8-alpine 來構(gòu)建我們的鏡像,只需要將 Dockerfile 更改為如下:

# 指定基礎(chǔ)鏡像
FROM openjdk:8-alpine

COPY ./docker-demo.jar /tmp/app.jar

# 暴露端口
EXPOSE 8090
# 入口,java項目的啟動命令
ENTRYPOINT java -jar /tmp/app.jar

Ⅱ.構(gòu)建鏡像并運行容器

docker build -t javaweb:2.0 . # 構(gòu)建鏡像
docker run --name my-javaweb-2.0 -p 8091:8090 -d javaweb:2.0 # 啟動容器

3.再次測試

http://自己的服務(wù)器地址:8091/hello/count

總結(jié)

1.Dockerfile的本質(zhì)是一個文件,通過指令描述鏡像的構(gòu)建過程

2.Dockerfile的第一行必須是FROM,從一個基礎(chǔ)鏡像來構(gòu)建

3.基礎(chǔ)鏡像可以是基本操作系統(tǒng),如Ubuntu。也可以是其他人制作好的鏡像,例如:java:8-alpine

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論