DockerFile命令說明

2021-10-07 11:56:43 字數 2093 閱讀 2725

映象的構建檔案

通過build構建成新的映象

如:將myfile檔案構建成新映象

from centos

cmd echo "**********run success**********="

cmd /bin/bash

docker build -f ./myfile.txt -t lwx/mycentos .
注意:

dockerfile的執行流程

1、docker從基礎映象執行乙個容器

2、執行一條指令並對容器進行修改

3、生成乙個新的映象

4、基於新映象建立乙個新的容器

5、依次執行,直到所有指定都執行完

引用映象,如

from centos
scratch所有映象的頂層

映象的維護者,可以填加姓名和郵箱等

maintainer lwx is a good boy and email is [email protected]
容器構建時需要執行的命令

如:在使用centos作為父映象時,安裝vim

run yum -y install vim
暴露的埠

expose 6379
建立容器後,終端登入後預設的路徑,沒有指定時預設到/目錄

workddir /
設定環境變數,可以配合其它命令使用

env work_home /work

workdir $work_home

將所需要的壓縮包拷貝到映象中,copy只是拷貝,add拷貝後還會進行解壓縮

如宿主中的jdk拷貝到映象中

add /data/jdk1.8.0-openjdk.tar.gz /usr/local
不做贅述

為映象新增資料卷

volume ["/volume1","/volume2"]
該方式沒有指定宿主機的目錄,所以docker會分配乙個預設的位置,可以通過docker inspect containerid進行檢視。

兩者都是執行命令

dockerfile可以有多個cmd命令,但只有最後乙個生效,而且會被docker run後的命令替換

如:完成後開啟終端

cmd /bin/bash
大部分linu發行版的基礎映象裡面呼叫cmd命令, 指定容器啟動後執行/bin/sh或/bin/bash. 這樣映象啟動預設進入互動式的shell

entrypoint用法與cmd類似,但是它不會被docker run後的命令替換,如需替換,則需要加上--entrypoint的引數。

如:

entrypoint /bin/bash
父映象被子映象繼承後,父映象的onbuild會被觸發,該命令可以配合其他命令使用

如:在子映象執行時,父映象列印一句話

onbuild run echo "father image is running"
from centos

env bash /bin/bash

env location /usr/local/

workdir $location

maintainer author:lwx email:[email protected]

run yum -y install vim

run yum -y install net-tools

expose 80

cmd $bash

Dockerfile檔案說明

此檔案用於docker映象檔案的製作 dockerfile檔案由行命令組成,以 開頭注釋行 一般分為四部分,基礎映象資訊 維護者資訊 映象操作指令和容器啟動執行指令。例如 depending on the operating system of the host machines s that wi...

Dockerfile基礎命令

映象的定製實際上就是定製每一層所新增的配置和檔案。如果可以把每一層修改 安裝 構建 操作的命令都寫入到乙個指令碼,用這個指令碼檔案來構建 定製映象,並且重複利用 映象的構建透明化 體積的優化。那這個指令碼稱之為dockerfile 目前的倉庫映象很難找到乙個滿足專案需求 非常好用的映象,就需要自定義...

DockerFile命令詳解

form 基礎映象,當前新映象是基於哪個映象的,例如我要建立乙個centos的映象,我要拉取父映象 from centos maintainer 映象的作者,一般是姓名 郵箱位址 run 容器構建時執行的命令 expose 暴露新建的映象對外服務的埠號 workdir 建立容器後的工作目錄,如果沒有...