国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

進階Docker3:Dokerfile構(gòu)建鏡像

這篇具有很好參考價值的文章主要介紹了進階Docker3:Dokerfile構(gòu)建鏡像。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

Dockerfile

構(gòu)建基礎(chǔ)鏡像

基本機構(gòu)

命令:

命令解釋:

準(zhǔn)備工作

創(chuàng)建鏡像

上傳鏡像


進階Docker3:Dokerfile構(gòu)建鏡像,linux,運維,服務(wù)器

Dockerfile

Dockerfile 是一個文本格式的配置文件, 用戶可以使用 Dockerfile 來快速創(chuàng)建自定義的鏡像,另外,使 用Dockerfile 去構(gòu)建鏡像好比使用 pom 去構(gòu)建 maven 項目一樣,有異曲同工之妙。

構(gòu)建基礎(chǔ)鏡像

centos
alpine
jeanblanchard/alpine-glibc 使用這個
1. 空間大小差異, alpine 默認(rèn) 5M 左右, centos 等都在 200M 左右。
2. 默認(rèn)軟件包差異, alpine 選用 busybox , centos 等則是 bash+coreutils 幾件套。
3. alpine 中,國際化組件被優(yōu)化掉了。
4. 還有一點, alpine 中選用的都是 最簡依賴 ,這點和 archlinux 比較像,舉個例子,
openssh 包不會自帶 pam 插件,于是他也就不支持 ldap 。這點我給 alpinelinux 官方提過
issue 。和 php 不一樣, php 可以做成 php-pdo php-dom 的包,然后動態(tài)加載共享庫。
openssh 不行, 沒帶就是沒寫
5. glibc 差異, alpine 選用 musl , centos 等選用 glibc ,其他的倒還好, libc 的差異對開發(fā)很重
要。

基本機構(gòu)

Dockerfile 由一行行命令語句組成,并且支持以 # 開頭的注釋行。
一般的, Dockerfile 分為四部分:基礎(chǔ)鏡像信息、維護者信息、鏡像操作指令和容器啟動時執(zhí)行指令。

命令:

基礎(chǔ)鏡像信息:FROM
維護者信息:MAINTAINER
鏡像操作命令: RUN 、 ENV 、 COPY 、 ADD 、 EXPOSE 、 WORKDIR 、 ONBUILD 、 USER 、
VOLUME

命令解釋:

FROM centos
MAINTAINER 2196707417@qq.com
WORKDIR /test?? ?cd/test
ENY 環(huán)境變量
CPOY spring.jar /test
CPOY和ADD的區(qū)別:ADD不僅可以賦值還會默認(rèn)解壓;
如果僅僅是把本地的文件拷貝到容器鏡像中, COPY 命令是最合適不過的。其命令的格式
為: COPY <src> <dest>
ADD 命令的格式和 COPY 命令相同,也是: ADD <src> <dest>
區(qū)別: ADD 解壓壓縮文件并把它們添加到鏡像中

準(zhǔn)備工作

創(chuàng)建文件夾上傳 jdk 的安裝包 , 和在同級目錄下編寫 Dockerfile 文件
編寫 Dockerfile 文件
示例
#1.指定基礎(chǔ)鏡像,并且必須是第一條指令
FROM centos:latest
#2.指明該鏡像的作者和其電子郵件
MAINTAINER xx "xx@qq.com"
#3.在構(gòu)建鏡像時,指定鏡像的工作目錄,之后的命令都是基于此工作目錄,如果不存在,則會創(chuàng)建目錄
WORKDIR /usr/local/java
#4.一個復(fù)制命令,把jdk安裝文件復(fù)制到鏡像中,注意:jdk*.tar.gz使用的是相對路徑
ADD jdk-8u221-linux-x64.tar.gz /usr/local/java/
#5.配置環(huán)境變量
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#容器啟動時需要執(zhí)行的命令
#CMD ["java","-version"]

創(chuàng)建鏡像

我們可以通過jdk和jre,還有不同的操作系統(tǒng)centos和?jeanblanchard/alpine-glibc 構(gòu)建不同大小的鏡像,因為鏡像需要部署很多個,所以鏡像越小越好;下面是不同版本的鏡像大小也不同。

FROM centos
MAINTAINER 2196707417@qq.com
WORKDIR /test	
COPY spring.jar /test


配置jdk環(huán)境變量

FROM centos
MAINTAINER 2196707417@qq.com
WORKDIR /test	
COPY spring.jar /test/
ADD jdk-8u221-linux-x64.tar.gz /test
ENV JAVA_HOME=/test/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH


配置自動運行jar包 #CMD ["java","-version"]

FROM centos
MAINTAINER 2196707417@qq.com
WORKDIR /test	
COPY spring.jar /test/
ADD jdk-8u221-linux-x64.tar.gz /test
ENV JAVA_HOME=/test/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#CMD ["java","-version"]


優(yōu)化鏡像
jdk jre

FROM centos
MAINTAINER 2196707417@qq.com
WORKDIR /test	
COPY spring.jar /test/
ADD jre-8u391-linux-x64.tar.gz /test
ENV JAVA_HOME=/test/jre1.8.0_391
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#CMD ["java","-version"]


優(yōu)化操作系統(tǒng) centos換jeanblanchard/alpine-glibc

FROM jeanblanchard/alpine-glibc
MAINTAINER 2196707417@qq.com
WORKDIR /test	
COPY spring.jar /test/
ADD jre-8u391-linux-x64.tar.gz /test
ENV JAVA_HOME=/test/jre1.8.0_391
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#CMD ["java","-version"]



編寫完成 Dockerfile 之后,可以通過 docker build 命令來創(chuàng)建鏡像
根據(jù)當(dāng)前路徑得Dockerfile 路徑構(gòu)建鏡像
docker build -t spring:v1 .

docker run -it spring:v1
處在哪個目錄? \test
目錄下有什么文件? spring.jar 

運行鏡像
docker run -itd --name s1 -p 8080:8080 spring:v5
注:注意最后有個點,代表使用當(dāng)前路徑的 Dockerfile 進行構(gòu)建?

上傳鏡像

在阿里云搜索容器鏡像服務(wù)創(chuàng)建鏡像和倉庫order_service

進階Docker3:Dokerfile構(gòu)建鏡像,linux,運維,服務(wù)器

?控制臺登錄

進階Docker3:Dokerfile構(gòu)建鏡像,linux,運維,服務(wù)器

?給鏡像取個別名

docker tag 52c4827a87e1 registry.cn-hangzhou.aliyuncs.com/zking_docker/order_service:v1

上傳鏡像到阿里云order_service倉庫

 docker push registry.cn-hangzhou.aliyuncs.com/zking_docker/order_service:v1

刪除鏡像

 docker rmi registry.cn-hangzhou.aliyuncs.com/zking_docker/order_service:v1

下載阿里云倉庫order_sercice 鏡像文章來源地址http://www.zghlxwxcb.cn/news/detail-790712.html

 docker pull registry.cn-hangzhou.aliyuncs.com/zking_docker/order_service:v1

到了這里,關(guān)于進階Docker3:Dokerfile構(gòu)建鏡像的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 在amd64平臺構(gòu)建適用于linux/arm64/v8平臺的Docker鏡像

    該鏡像內(nèi)置了Redis、MySQL、Nginx、JDK11功能 Docker 提供了一種名為 Buildx 的功能,它允許在不同的平臺上進行多架構(gòu)構(gòu)建。我們可以使用 Buildx 在 amd64 平臺上構(gòu)建適用于 linux/arm64/v8 平臺的 Docker 鏡像。 請按照以下步驟進行操作: 確保您的 Docker 安裝中已啟用 Buildx。您可以運行以

    2024年02月17日
    瀏覽(18)
  • 如何在 Linux 命令行下玩轉(zhuǎn) Docker——如何使用 Dockerfile 來構(gòu)建和運行容器鏡像

    作者:禪與計算機程序設(shè)計藝術(shù) Docker 是一款開源的容器化技術(shù),它利用 Linux 內(nèi)核的容器特性,將應(yīng)用部署到獨立的進程環(huán)境中。基于容器技術(shù)可以極大地提高開發(fā)者和運維人員的效率,降低部署、測試和生產(chǎn)環(huán)節(jié)中的成本,有效地實現(xiàn)云計算資源的彈性伸縮。 本文主要介紹

    2024年02月07日
    瀏覽(106)
  • Linux 環(huán)境下Docker將鏡像打包導(dǎo)出到本地,上傳至內(nèi)網(wǎng)服務(wù)器(八)

    Linux 環(huán)境下Docker將鏡像打包導(dǎo)出到本地,上傳至內(nèi)網(wǎng)服務(wù)器(八)

    docker將鏡像導(dǎo)出到本地,上傳至內(nèi)網(wǎng)服務(wù)器上 背景:在企業(yè)中往往出現(xiàn)了內(nèi)網(wǎng)不能和外網(wǎng)相通,不能使用docker pull命令來拉取鏡像,這個時候我們就可以考慮在有所需鏡像的服務(wù)器上導(dǎo)出鏡像,再將其上傳到內(nèi)網(wǎng)服務(wù)器上。 有兩種方法,一種是通過容器,一種是通過鏡像,其

    2024年02月13日
    瀏覽(20)
  • 工具系列(九) 本文(2萬字) | 在ubuntu中安裝docker教程 | 在Linux下Docker將鏡像導(dǎo)出 | 上傳至服務(wù)器 | 部署并創(chuàng)建容器 |

    點擊進入專欄: 《人工智能專欄》 Python與Python | 機器學(xué)習(xí) | 深度學(xué)習(xí) | 目標(biāo)檢測 | YOLOv5及其改進 | YOLOv8及其改進 | 關(guān)鍵知識點 | 各種工具教程

    2024年01月19日
    瀏覽(106)
  • Selenium技術(shù)在CentOS6.8系統(tǒng)的騰訊云服務(wù)器上的docker鏡像的Ubuntu容器里的相關(guān)使用(Linux環(huán)境下)

    一開始看標(biāo)題,我知道你們會很懵,我當(dāng)初完成的時候,我自己也很懵,主要是想在Linux環(huán)境下使用Selenium技術(shù)來完成一些工作,本來打算用docker創(chuàng)建一個Anaconda的容器來用Selenium技術(shù)的,但發(fā)現(xiàn)無法通過chrome驅(qū)動來驅(qū)動谷歌瀏覽器,所以我又用docker創(chuàng)建了一個Ubuntu容器來使用

    2024年02月03日
    瀏覽(93)
  • Linux運維實戰(zhàn)項?進階

    Linux運維實戰(zhàn)項?進階

    近年來為適應(yīng)業(yè)務(wù)發(fā)展的需求,世界500強XX企業(yè)準(zhǔn)備進??規(guī)模的電?商務(wù)建設(shè), 同時,希望能通過Linux平臺,利?開源技術(shù),來實現(xiàn)?型互聯(lián)?電?商務(wù)?站架構(gòu)建設(shè)和業(yè)務(wù)?撐,現(xiàn)要求成?運維技術(shù)保障部門,并邀請你擔(dān)當(dāng)運維部門經(jīng)理,對整個運維部門進?部署和規(guī)劃

    2024年02月03日
    瀏覽(14)
  • Docker(二)鏡像詳解、鏡像構(gòu)建、鏡像優(yōu)化

    Docker(二)鏡像詳解、鏡像構(gòu)建、鏡像優(yōu)化

    共享宿主機的kernel base鏡像提供的是最小的Linux發(fā)行版(base鏡像:不同發(fā)行版的/文件系統(tǒng)) 同一docker主機支持運行多種Linux發(fā)行版 采用分層結(jié)構(gòu)的最大好處是:共享資源 鏡像通過分層,如果本地已經(jīng)有了,不管這一層屬于哪個鏡像,因為每一層都有獨立的標(biāo)識(都是唯一的

    2024年02月05日
    瀏覽(24)
  • Docker 構(gòu)建鏡像(docker build)

    docker build 命令用于從Dockerfile構(gòu)建鏡像。 典型用法 選項 -t 給鏡像加一個Tag ImageName 給鏡像起的名稱 TagName 給鏡像的Tag名 Dir Dockerfile所在目錄 執(zhí)行結(jié)果 根據(jù)目錄下的 Dockerfile 文件構(gòu)建鏡像 例子 chinaskill-redis 是鏡像名 v1.1 是 tag 標(biāo)簽 . 表示當(dāng)前目錄,即Dockerfile所在目錄 查看鏡

    2024年02月11日
    瀏覽(20)
  • Docker 鏡像解密:分層存儲與鏡像構(gòu)建原理

    Docker 鏡像解密:分層存儲與鏡像構(gòu)建原理

    ???? 博主貓頭虎 帶您 Go to New World.??? ?? 博客首頁——貓頭虎的博客?? ??《面試題大全專欄》 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》學(xué)會IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)入門篇)》學(xué)會Golang語言

    2024年02月13日
    瀏覽(20)
  • 【運維知識進階篇】zabbix5.0穩(wěn)定版詳解1(安裝+部署+添加服務(wù)器+拆分?jǐn)?shù)據(jù)庫)

    【運維知識進階篇】zabbix5.0穩(wěn)定版詳解1(安裝+部署+添加服務(wù)器+拆分?jǐn)?shù)據(jù)庫)

    本篇文章介紹zabbix監(jiān)控,監(jiān)控是對我們操作系統(tǒng)進行不間斷的監(jiān)控,這是軟件生命周期非常重要的一環(huán),可以做到事前告警,事后根據(jù)監(jiān)控內(nèi)容排查問題(金絲雀,監(jiān)控重要指標(biāo)),有問題的時候,運維需要管理運維債務(wù)(在軟件開發(fā)過程中積累的一些技術(shù)債務(wù)) 目錄 監(jiān)控

    2024年02月04日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包