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

Docker使用Dockerfile自定義鏡像方式

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

什么是Dockerfile

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

每一個(gè)指令都會形成一層Layer。  

常見指令

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

看實(shí)例

需求:

基于Ubuntu鏡像構(gòu)建一個(gè)新鏡像,運(yùn)行一個(gè)java項(xiàng)目

1.下載資料

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

2.查看Dockerfile

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

# 指定基礎(chǔ)鏡像
FROM ubuntu:16.04
# 配置環(huán)境變量,JDK的安裝目錄
ENV JAVA_DIR=/usr/local

# 拷貝jdk和java項(xiàng)目的包
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項(xiàng)目的啟動(dòng)命令
ENTRYPOINT java -jar /tmp/app.jar

3.新建目錄

mkdir docker-demo
cd docker-demo

4.上傳資料

直接借助 FinalShell 拖動(dòng)上傳即可:

5.構(gòu)建鏡像

docker build -t javaweb:1.0 .

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

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

6.啟動(dòng)容器

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

啟動(dòng)成功

7.瀏覽器訪問

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

四、實(shí)例升級

1.為什么升級

其實(shí)之前的實(shí)例中我們的 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項(xiàng)目的啟動(dòng)命令
ENTRYPOINT java -jar /tmp/app.jar

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

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

3.再次測試

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

總結(jié)

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

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

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

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

相關(guān)文章

  • 基于SpringBoot+vue實(shí)現(xiàn)前后端數(shù)據(jù)加解密

    基于SpringBoot+vue實(shí)現(xiàn)前后端數(shù)據(jù)加解密

    這篇文章主要給大家介紹了基于SpringBoot+vue實(shí)現(xiàn)前后端數(shù)據(jù)加解密,文中有詳細(xì)的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴可以自己動(dòng)手試一試
    2023-08-08
  • Java中的lambda和stream實(shí)現(xiàn)排序

    Java中的lambda和stream實(shí)現(xiàn)排序

    這篇文章主要介紹了Java中的lambda和stream實(shí)現(xiàn)排序,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Java中的IP地址和InetAddress類使用詳解

    Java中的IP地址和InetAddress類使用詳解

    這篇文章主要介紹了Java中的IP地址和InetAddress類使用詳解,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • 在mybatis 中使用if else 進(jìn)行判斷的操作

    在mybatis 中使用if else 進(jìn)行判斷的操作

    這篇文章主要介紹了在mybatis 中使用if else 進(jìn)行判斷的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 淺談IDEA實(shí)用的Servlet模板

    淺談IDEA實(shí)用的Servlet模板

    今天給大家分享一下IDEA實(shí)用的Servlet模板,文中有非常詳細(xì)的圖文介紹及代碼示例,對小伙伴們很有幫助哦,需要的朋友可以參考下
    2021-05-05
  • Spring Boot面試題總結(jié)

    Spring Boot面試題總結(jié)

    這篇文章主要介紹了Spring Boot面試題總結(jié),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 詳解slf4j+logback在java工程中的配置

    詳解slf4j+logback在java工程中的配置

    這篇文章主要介紹了slf4j+logback在java工程中的配置,對日志組件logback也進(jìn)行了簡單介紹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • JSON反序列化Long變Integer或Double的問題及解決

    JSON反序列化Long變Integer或Double的問題及解決

    這篇文章主要介紹了JSON反序列化Long變Integer或Double的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java開發(fā)學(xué)習(xí) Java數(shù)組操作工具

    Java開發(fā)學(xué)習(xí) Java數(shù)組操作工具

    這篇文章主要為大家詳細(xì)介紹了自己編寫的Java數(shù)組操作工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java設(shè)計(jì)模式之迭代模式(Iterator模式)介紹

    Java設(shè)計(jì)模式之迭代模式(Iterator模式)介紹

    這篇文章主要介紹了Java設(shè)計(jì)模式之迭代模式(Iterator模式)介紹,本文用一個(gè)老師點(diǎn)名的現(xiàn)象描述了迭代模式的使用,需要的朋友可以參考下
    2015-03-03

最新評論