中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

邯鄲建設網站軟考十大最靠譜it培訓機構

邯鄲建設網站,軟考十大最靠譜it培訓機構,現(xiàn)在網站前臺用什么做,手機上如何制作自己的網址Dockerfile 1. 構建過程解析2. Dockerfile常用保留字指令3. 案例3.1. 自定義鏡像mycentosjava83.2. 虛懸鏡像 4. Docker微服務實戰(zhàn) dockerfile是用來構建docker鏡像的文本文件,是由一條條構建鏡像所需的指令和參數(shù)構成的腳本。 dockerfile定義了進程需要的一切東西&…

Dockerfile

  • 1. 構建過程解析
  • 2. Dockerfile常用保留字指令
  • 3. 案例
    • 3.1. 自定義鏡像mycentosjava8
    • 3.2. 虛懸鏡像
  • 4. Docker微服務實戰(zhàn)

dockerfile是用來構建docker鏡像的文本文件,是由一條條構建鏡像所需的指令和參數(shù)構成的腳本。
dockerfile定義了進程需要的一切東西,涉及的內容包括執(zhí)行代碼或者是文件、環(huán)境變量、依賴包、運行時環(huán)境、動態(tài)鏈接庫、操作系統(tǒng)的發(fā)行版、服務進程和內核進程(當應用進程需要和系統(tǒng)服務和內核進程打交道,這時需要考慮如何設計namespace的權限控制)等等;
image.png
官網:https://docs.docker.com/engine/reference/builder/

UnionFS(聯(lián)合文件系統(tǒng)): Unin文件系統(tǒng)(UnionFS)是一種分層、輕量級并且高性能的文件系統(tǒng),它支持對文件系統(tǒng)的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統(tǒng)下(unite several directories into a sindle virtual flesystem)。 Union文件系統(tǒng)是 Docker 鏡像的基礎。鏡像可以通過分層來進行繼承,基于基礎鏡像(沒有父鏡像),可以制作各種具體的應用鏡像。

1. 構建過程解析

構建三步驟:

  1. 編寫dockerfile文件
  2. docker build命令構建鏡像
  3. docker run依鏡像運行容器實例

基礎知識:

  1. 每條保留字指令都必須為大寫字母且后面要跟隨至少一個參數(shù)

image.png
像圖中這種ADD,ENV,COPY等就叫保留字指令

  1. 指令按照從上到下,順序執(zhí)行
  2. #表示注釋
  3. 每條指令都會創(chuàng)建一個新的鏡像層并對鏡像進行提交

docker 執(zhí)行 dockerfile 的大致流程:

  1. docker從基礎鏡像運行一個容器
  2. 執(zhí)行一條指令修改容器
  3. 執(zhí)行類似docker commit的操作提交一個新的鏡像層
  4. docker再基于剛提交的鏡像運行一個新容器
  5. 執(zhí)行dockerfile中的下一條指令直到所有指令執(zhí)行完成
  • docker commit 提交容器副本使之成為一個新的鏡像:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要創(chuàng)建的目標鏡像名:[標簽名]

使用dockerfile構建docker鏡像,再用鏡像生成容器

2. Dockerfile常用保留字指令

參考tomcat8的Dockerfile入門 https://github.com/docker-library/tomcat/blob/master/9.0/jdk8/corretto-al2/Dockerfile
image.png

  1. FROM

基礎鏡像,當前新鏡像是基于哪個鏡像的,指定一個已經存在的鏡像作為模板,第一條必須是from
如.
image.png

  1. MAINTAINER

鏡像維護者的姓名和郵箱地址

  1. RUN

容器構建時需要運行的命令,在 docker build時運行
有兩種格式:

  • shell格式

RUN <命令行命令>
命令行命令等同于在終端操作的shell命令

例: RUN yum -y install vim

  • exec格式

RUN [“可執(zhí)行文件”,“參數(shù)1",“參數(shù)2”]

例:RUN [“./test.php”,“dev”,“offline”] ,等價于 RUN ./test.php dev offline

如.
image.png

  1. EXPOSE

當前容器對外暴露出的端口

  1. WORKDIR

指定在創(chuàng)建容器后,終端默認登錄進來的工作目錄,一個落腳點
image.png
如上圖這個/,就是默認的工作目錄
如.
image.png

  1. USER

指定該鏡像以什么樣的用戶去執(zhí)行,如果都不指定,默認是root

  1. ENV

用來在構建鏡像過程中設置環(huán)境變量

ENV MY_PATH /usr/mytest
這個環(huán)境變量可以在后續(xù)的任何RUN指令中使用,如同在命令前指定了環(huán)境變量前綴一樣,也可以在其他指令中直接使用這些環(huán)境變量

例:WORKDIR $MY_PATH 指定了登錄后的默認工作目錄為/usr/mytest

如.
image.png

  1. VOLUME

容器數(shù)據(jù)卷,用于數(shù)據(jù)保存和持久化工作

  1. ADD

將宿主機目錄下的文件拷貝進鏡像且會自動處理URL和解壓tar壓縮包
相比于COPY命令多了個解壓功能

  1. CMD

指定容器啟動后的要干的事情,與RUN的區(qū)別是CMD時在docker run時運行
CMD指令的格式和RUN相似,也是兩種格式:

  • shell格式:CMD <命令>
  • exec格式:CMD [“可執(zhí)行文件”,“參數(shù)1",“參數(shù)2” …]
  • 參數(shù)列表模式:CMD [“參數(shù)1",“參數(shù)2” …] 在指定了ENTRYPOINT指令后,用CMD指定具體的參數(shù)

Dockerfile中可以有多個CMD指令,但只有最后一個生效,CMD會被docker run之后的參數(shù)替換

如.
image.png

  1. ENTRYPOINT

格式:ENTRYPOINT [“”,“”,“”,…]

也是用來指定一個容器啟動時要運行的命令
類似于CMD指令,但是ENTRYPOINT不會被docker run 后面的命令覆蓋,而且這些命令行參數(shù)會被當作參數(shù)送給ENTRYPOINT指令指定的程序

ENTRYPOINT可以和CMD一起用,一般是變參才會使用 CMD ,這里的 CMD 等于是在給 ENTRYPOINT 傳參。
當指定了ENTRYPOINT后,CMD的含義就發(fā)生了變化,不再是直接運行其命令而是將CMD的內容作為參數(shù)傳遞給ENTRYPOINT指令,他兩個組合會變成"<ENTRYPOINT>"<CMD>"
image.png

3. 案例

3.1. 自定義鏡像mycentosjava8

centos7鏡像具備vim+ifconfig+jdk8

  1. 創(chuàng)建文件夾myfile,將jdk壓縮包傳到當前目錄下

jdk壓縮包要與Dockerfile文件在同一目錄下
image.png

  1. 創(chuàng)建Dockerfile文件,編輯內容]

Dockerfile文件中的D一定是大寫

FROM centos:7
MAINTAINER zy<2351950143@qq.com>ENV MYPATH /usr/local
WORKDIR $MYPATH#安裝vim編輯器
RUN yum -y install vim
#安裝ifconfig命令查看網絡IP
RUN yum -y install net-tools
#安裝java8及l(fā)ib庫
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相對路徑jar,把jdk-8u341-linux-x64.tar.gz添加到容器中,安裝包必須要和Dockerfile文件在同一位置
ADD jdk-8u341-linux-x64.tar.gz /usr/local/java/
#配置java環(huán)境變量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_341
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATHEXPOSE 80CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash
  1. 構建鏡像

最后有一個點別忘了

docker build -t centosjava8:1.0 .

構建完成:
image.png
查看創(chuàng)建的鏡像:
image.png

  1. 運行鏡像
docker run -it 鏡像ID /bin/bash

image.png

3.2. 虛懸鏡像

倉庫名和版本號都為none的就是虛懸鏡像
image.png
查看所有的虛懸鏡像

docker image ls -f dangling=true

刪除所有虛懸鏡像

docker image prune

image.png

4. Docker微服務實戰(zhàn)

  1. 新建一個普通微服務模塊

端口為6001,只有一些簡單的接口
image.png
本機測試沒問題
image.png
打包并把他放進虛擬機目錄里
image.png

  1. 通過dockerfile發(fā)布微服務部署到docker容器

編寫Dockerfile文件:

# 基礎鏡像使用java
FROM java:8
# 作者
MAINTAINER zy
# VOLUME 指定臨時文件目錄為/tmp,在主機/var/lib/docker目錄下創(chuàng)建了一個臨時文件并鏈接到容器的/tmp
VOLUME /tmp
# 將jar包添加到容器中并更名為zy_docker.jar
ADD docker_test-0.0.1-SNAPSHOT.jar zy_docker.jar
# 運行jar包
RUN bash -c 'touch /zy_docker.jar'
ENTRYPOINT ["java","-jar","/zy_docker.jar"]
# 暴露6001端口
EXPOSE 6001

構建:
別忘了最后的點

docker build -t zy_docker:1.1 .

image.png
image.png

運行容器:

docker run -d -p 6001:6001 661bf8447553

image.png

測試:
image.png

http://www.risenshineclean.com/news/61104.html

相關文章:

  • 國外推廣網站站長工具中文
  • 建立網站的目的是什么怎么下載需要會員的網站視頻
  • 經營性網站icp哪家網站優(yōu)化公司好
  • 廣州響應式網站建設seo基礎
  • 網站開發(fā)與維護的崗位特點職責seo網站內部優(yōu)化方案
  • 汕頭網站設計電話中國十大熱門網站排名
  • 騰訊云cdn加速wordpress澤成seo網站排名
  • 做網站用什么軟件免費安徽搜索引擎優(yōu)化seo
  • 機構單位網站建設方案寧波網站推廣公司價格
  • php網站開發(fā)教程網手機優(yōu)化大師下載
  • 廣州網站開發(fā)報價seo搜索引擎優(yōu)化是通過優(yōu)化答案
  • 網絡營銷的四大要素浙江seo博客
  • 網站搭建招標方案域名被墻檢測
  • 自己怎么做可以讓百度收錄的網站網站的推廣方法
  • 企業(yè)網站seo優(yōu)化怎么做索引擎優(yōu)化 seo
  • 電影網站建設 流程seo按照搜索引擎的什么對網站
  • 建材公司網站建設方案省委副書記
  • 民權網站建設網站推廣的方式有哪些?
  • 網站建設現(xiàn)在主要做些什么成品影視app開發(fā)
  • 境外網站搭建谷歌seo技巧
  • 在網站制作前需要有哪些前期策劃工作長沙互聯(lián)網網站建設
  • iis的網站默認端口如何讓百度收錄
  • 網站建設要做哪些工作室如何發(fā)布自己的html網站
  • 網站開發(fā)有哪些工作崗位搜索引擎優(yōu)化哪些方面
  • 邯鄲網站建設兼職網址模板建站
  • 交易平臺網站建設策劃書深圳seo網絡推廣
  • 做外貿的網站主要有哪些搜索指數(shù)查詢平臺
  • wordpress建雙語網站手機百度賬號申請注冊
  • 建設公積金網站百度輸入法免費下載
  • 東莞建設銀行官方網站重慶網站seo診斷