成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker基礎:Dockerfile相關知識介紹

開發 前端 架構
Dockfile是一種可以被Docker解釋的腳本文件,Dockerfile其實由若干條的指令組成,每條指令對應Linux下面的一條腳本命令。

?今天給大家整理一下Dockerfile相關的知識,希望對大家能有所幫助!

1、Dockfile介紹

Dockfile是一種可以被Docker解釋的腳本文件,Dockerfile其實由若干條的指令組成,每條指令對應Linux下面的一條腳本命令。Docker應用程序可以將這些指令轉化為Linux實際執行的命令。Docker讀取Dockerfile文件的指令然后生成對應的docker鏡像。通過dockerfile文件可以比較明確的描述出Docker鏡像是如何一步一步構建的。有了Dockerfile,我們可以根據實際的因業務需要構建自己的鏡像并可以添加一些需要執行的命令,這樣可以避免后續的部署工作省去了需要重復敲命令的繁瑣過程,大大節約了項目部署的時間成本

2、Dockerfile命令書寫規則

Dockerfile的指令忽略大小寫,不過建議使用大寫,可以使用#作為指令的注釋,每一行只能表示一條指令,每條指令可以攜帶多個參數。

3、Dockerfile的指令的分類

根據作用可以分為兩種,構建指令和設置指令。?

構建指令:用于構建Docker鏡像,其指定的操作不會在運行image的容器上執行,屬于鏡像的構建過程。。

設置指令:用于設置Docker鏡像的屬性,其指定的操作會在運行鏡像的容器中執行。

4、Dockerfile指令組成

圖片

4.1 From(指定基礎鏡像)

Dockerfile必須指定FROM ,并且是第一行,屬于構建命令。

表示基于那個基礎鏡像來構建

基礎鏡像可以是本地鏡像也可以是遠程倉庫的鏡像

語法: FROM image name

4.2 MAINTAINER(指定鏡像作者信息)

用來指定構建鏡像的作者信息,方便后續通過docker inspect命令查看,對鏡像沒有實際的影響。

語法: MAINTAINER author name

4.3 RUN (指定需要執行的shell命令)

該命令會在新創建的鏡像上添加新的層面。docker build 時運行。

格式:RUN  command命令

4.4 CMD(設置容器啟動時執行的操作)

可以是執行自定義腳本,也可以是執行系統命令,該指令只能在文件中存在一次,如果有多個,則只會執行最后一條。docker run時運行。

格式: CMD ["executable","param1","param2"] 或 CMD ["param1","param2"]

4.5 ENTRYPOINT(設置容器啟動時執行的操作)

設置指令,指定容器啟動時執行的命令,可以追加命令,但是只有最后一個ENTRYPOINT有效。

格式: ENTRYPOINT ["executable", "param1","param2"]

4.6 USER(設置容器執行shell命令的用戶)

設置指令,設置啟動該容器的用戶,默認是root用戶。

格式:USER root

4.7 EXPOSE(宿主和容器端口映射設置)

指定容器需要映射到宿主機器的端口。

格式: EXPOSE port

4.8 ENV(設置環境變量)

ENV指令可以用于為docker容器設置環境變量。

示例:ENV JAVA/HOME /usr/local/jdk1.8.0.25  指定java環境變量

4.9 ADD(文件復制命令)

復制文件命令,支持自動下載和解壓

格式:ADD  源路徑  目標路徑

優點:在執行 <源文件> 為 tar 壓縮文件的話,壓縮格式為 gzip, bzip2 以及 xz 的情況下,會自動復制并解壓到 <目標路徑>。

缺點:在不解壓的前提下,無法復制 tar 壓縮文件。會令鏡像構建緩存失效,從而可能會令鏡像構建變得比較緩慢。具體是否使用,可以根據是否需要自動解壓來決定。

說明:參數:destination 是容器內的路徑。source 可以是 下載文件的URL 或者宿主主機的目錄

4.10 COPY

類似ADD命令,將地文件拷貝到鏡像中

本地目錄為源目錄時,官方推薦使用COPY。

4.11 VOLUME (指定掛載點)

創建一個可以從本地主機或其他容器掛載的掛載點,用來存放數據庫和需要保持的數據等

4.12 WORKDIR(設置工作目錄)

指定RUN、CMD與ENTRYPOINT 命令的工作目錄。

格式:  WORKDIR  /path/to/workdir

5、完整的Dockerfile示例

5.1 創建mytomcat文件

FROM centos
#設置作者
MAINTAINER xiaoming admion@qq.com
#拷貝tomcat jdk 到鏡像內并解壓
ADD apache-tomcat-8.5.30.tar.gz /usr/local/tomcat
ADD jdk-8u202-linux-x64.tar.gz /usr/local/jdk
#設置工作目錄
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置jdk 和tomcat的環境變量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_202
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-8.5.30
ENV CATALINA_BASE /usr/local/tomcat/apache-tomcat-8.5.30
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#設置暴露的端口
EXPOSE 8080
#運行tomcat
CMD /usr/local/tomcat/apache-tomcat-8.5.30/bin/startup.sh && tail -f /usr/local/tomcat/apache-tomcat-8.5.30/logs/catalina.out

5.2 構建鏡像

docker build -f mytomcat -t xm/tomcat:1.8 .

注意:docker build 命令最后要有一個.  

5.3 運行鏡像?

docker run -d -p 8080:8080 --name mytomcat1.8
-v /usr/local/tomcat/logs:/usr/local/tomcat/apache-tomcat-8.5.30/logs/
-v /usr/local/tomcat/webapps:/usr/local/tomcat/apache-tomcat-8.5.30/webapps/
xm/tomcat:1.8

責任編輯:武曉燕 來源: IT技術分享社區
相關推薦

2018-04-20 15:24:55

DockerfileDocker鏡像

2021-10-24 11:11:30

Spring開源Java開發

2009-09-07 16:20:35

CCNA認證培訓

2021-02-06 23:03:58

SQLServer數據庫變量

2022-01-26 06:59:46

SFTP操作系統加密算法

2011-11-04 17:26:12

2009-11-17 17:07:01

PHP關聯數組

2009-08-11 15:17:12

C#基礎知識

2009-08-13 15:40:28

C#基礎知識

2009-11-05 09:51:14

WCF基礎

2015-07-17 16:49:13

OpenStack開源云平臺云計算

2022-12-09 07:13:20

2022-09-01 07:15:48

docker匿名掛載

2022-08-04 07:25:22

Docker部署項目

2011-06-24 14:34:56

SEO

2009-12-21 13:03:06

向量路由協議

2022-03-30 08:37:32

Python函數編程自定義函數

2018-07-25 10:45:05

區塊鏈比特幣互聯網

2009-09-01 15:25:01

C#位域

2010-04-22 16:58:21

Oracle PLSQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女131mm久久爽爽免费 | 午夜影院官网 | 一级片在线免费看 | 国产精品一区二区三区在线 | 日韩av一区二区在线 | 伊人亚洲 | 成人影院在线 | 欧美日韩国产一区二区三区 | 黄色片视频免费 | 亚洲精久 | 亚洲欧美综合精品久久成人 | 精品国产18久久久久久二百 | 国产综合av | 中文字字幕在线中文乱码范文 | www.国产精品 | 蜜桃av鲁一鲁一鲁一鲁 | 日韩欧美三级 | 噜噜噜噜狠狠狠7777视频 | 亚洲精品国产一区 | 久久精品视频免费观看 | av黄色片| a级免费黄色片 | 一区二区国产在线 | 999热视频 | 日本免费一区二区三区视频 | 欧美精品啪啪 | 国产在线精品一区二区三区 | 免费不卡av | 一区二区三区四区五区在线视频 | 黄色一级大片在线观看 | 久久久久一区二区三区 | 亚洲视频免费播放 | 欧美国产中文 | 美女视频一区二区 | 欧美性久久 | 精品亚洲永久免费精品 | 日韩精品一区二区三区中文字幕 | 欧美a在线看| 99久久免费精品国产男女高不卡 | 狠狠躁夜夜躁人人爽天天高潮 | 夜夜爽夜夜操 |