dockerfile是乙個文字格式的配置檔案,使用者可以使用dockerfile來快速建立自定義的映象。
dockerfile由一行行命令語句組成,並支援以#開頭的注釋行。
一般來說dockerfile主題內容分為四部分:基礎映象資訊、維護者資訊、映象操作指令和容器啟動時執行命令。
#配置指令
arg:定義建立映象過程中使用的變數
from:指定所建立映象的基礎映象
label:為生成的映象新增標籤資訊
expose:宣告映象內服務監聽的埠
env:指定環境變數
enterpoint:指定映象的預設入口命令
volume:建立乙個資料卷掛載點
user:指定執行容器時的使用者名稱或uid
workdir:配置工作目錄
onbuild:建立子映象時指定自動執行的操作指令
stopsignal:指定退出的訊號值
healthcheck:配置所啟動容器如何進行健康檢查
shell:指定預設shell型別
#操作指令
run:執行指定命令
cmd:啟動容器時預設執行的命令
add:新增內容到映象
copy:複製內容到映象
arg:
格式:arg [=]
只存在於映象內部使用,映象編譯成功後,arg變數將不存在
docker內建了一些映象建立變數,可以直接使用。如:http_proxy,https_proxy,ftp_proxy,no_proxy
from:
格式:from 或 from :
dockfile第一條指令必須是from指令。
from centos:7.4
label:
格式:label =
label date="2020-05-13"
label auther="[email protected]"
expose:
格式:expose
expose 22
expose 22 80
env:
格式:env 或 =
volume:
格式:volume ["/data"]
執行容器時可以從本地主機或其他容器掛載資料卷,一般用來存放資料庫和需要保持的資料
workdir:
格式:workdir /path/to/workdir
workdir /
data
run:
格式:run
多條命令可以用&&連線
格式:cmd [「executable」,「paraml」]
cmd [
"/usr/sbin/sshd"
,"-d"
]cmd [
"/bin/bash"
,"/init.sh"
]
add:
格式:add
將的內容複製到目錄下
add *
.c /code
add *
.tar.gz /usr/local
copy:格式:docker build [options] path | url | -
docker build -t centos_ssh:v1
其他命令選項不在這裡說明。
建立乙個存放dockerfile的目錄:養成良好習慣
mkdir -p /opt/dockerfile
建立容器目錄,進入目錄編寫dockerfile
cd /opt/dockerfile/
mkdir centos6_sshd
cd centos6_sshd/
vim dockerfile
from centos:6.8
label auther="[email protected]"
run yum -y install openssh-server \
&& /etc/init.d/sshd start \
&& echo 123123|passwd --stdin root
expose 22
cmd [
"/usr/sbin/sshd"
,"-d"
]
構建容器映象:
docker build -t centos6_sshd:1.0 /opt/dockerfile/centos6_sshd/
測試:
docker run -d -p 1022:22 centos6_sshd:1.0
ssh [email protected] -p1022
the authenticity of host '[192.168.1.3]:1022 ([192.168.1.3]:1022)' can't be established.
rsa key fingerprint is sha256:mtoummxrlhbah1q5svhidt0mcek+gjup/mrgwy33/um.
rsa key fingerprint is md5:5c:17:62:3f:00:8b:da:93:2c:f9:e3:b7:27:a8:a9:5b.
are you sure you want to continue connecting (yes/no)? yes
warning: permanently added '
[192.168.1.3]:1022' (rsa) to the list of known hosts.
[email protected]'s password:
[root@4c2fd8c13791 ~]
#
測試ssh連線正常。 docker映象的製作(一) dockerfile
映象的儲存方式,利用linux的聯合儲存檔案系統,不同的目錄可以掛載在同乙個的檔案系統下,就能形成分層的結構 在同乙個目錄下查詢到其他各個目錄的檔案。在 docker commit 的學習中,我們可以了解到,映象的定製實際上就是定製每一層所 新增的配置 檔案。如果我們可以把每一層修改 安裝 構建 操...
docker學習之docker命令
在csdn的第一篇文章,排版之類的慢慢研究,先把內容充實上去,菜雞起步,坐穩扶好了 首先我們要牢記並善於使用乙個最最最重要的命令 docker help help這個選項大家都知道是幹嘛的吧,不會help一下,這個在docker的命令分支中也賊好用,例如關於docker image可以幹那些事就可以...
Docker學習之Docker安裝
1.更新yum包 生產環境慎重!yum update會對軟體包和核心公升級,為了排除系統環境的影響 執行命令 yum update y 2.安裝基礎軟體包 3.配置yum資料來源 阿里雲 執行命令 yum config manager add repo 4.列印倉庫中docker映象版本 執行命令 ...