1. 程式人生 > 其它 >|NO.Z.00108|——————————|CloudNative|——|KuberNetes&Docker操作.V06|----------------------------------------------------|dockerfile.v01|from&run|

|NO.Z.00108|——————————|CloudNative|——|KuberNetes&Docker操作.V06|----------------------------------------------------|dockerfile.v01|from&run|



[CloudNative:KuberNetes&二進位制升級.V06]                                                            [Applications.KuberNetes] [dockerfile|FROM/MAINTAINER/RUN/EXPOSE/CMD/ENTRYPOINT/VOLUME/ENV/ADD/WORKDIR/USER|]








一、Dockerfile指令
### --- dockerfile常用引數

~~~     FROM:繼承基礎映象
~~~     MAINTAINER:映象製作作者資訊
~~~     RUN:用來執行shell命令
~~~     EXPOSE:暴露埠號
~~~     CMD:啟動容器預設執行的命令
~~~     ENTRYPOINT:啟動容器真正執行的命令
~~~     # CMD和ENTRYPOINT必須要有一個,CMD可以被覆蓋,如果有ENTRYPIOINT的話,CMD就是ENTRYPIOINT的引數。
~~~     # ENTRYIOINT——>對應k8s中:COMMAND
~~~     # CMD——>對應k8s中:arg
~~~     VOLUME:建立掛載點:相當於匿名的掛載點。
~~~     ENV:配置環境變數
~~~     ADD:複製檔案到容器;若是複製tar包它會幫助解壓。
~~~     WORKDIR:設定容器的工作目錄
~~~     USER:容器使用的使用者
二、Dokerfile:FROM和RUN引數
### --- 建立dockerfile:
~~~     建立dockerfile;FROM和RUN引數;

[root@k8s-master01 ~]# mkdir dockerfiles
[root@k8s-master01 dockerfiles]# vim Dockerfile
FROM centos:8

LABEL maintainer="test dockerfile"
LABEL test=dockerfile

RUN useradd yanqi
RUN mkdir /opt/yanqi
### --- 通過dockerfile構建映象
~~~     構建映象

[root@k8s-master01 dockerfiles]# docker build -t centos:user .
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM centos:8
 ---> 300e315adb2f
Successfully built 1997dc655b9f
Successfully tagged centos:user
### --- 執行容器
~~~     除錯的時候加入--rm引數,不然會產生很多除錯殘留痕跡。

[root@k8s-master01 dockerfiles]# docker run -ti --rm centos:user bash       
### --- 檢視建立的資源

~~~     # 檢視新增的使用者
[root@8421e7b75b54 /]# cat /etc/passwd
yanqi:x:1000:1000::/home/yanqi:/bin/bash
~~~     # 檢視建立的目錄

[root@8421e7b75b54 ~]# cd /opt/yanqi/
### --- 將映象推送到hub倉庫
~~~     若是測試沒有問題;可以把映象推送到hub倉庫中

[root@k8s-master01 dockerfiles]# vim Dockerfile
FROM centos:8

LABEL maintainer="test dockerfile"
LABEL test=dockerfile

#RUN useradd yanqi
#RUN mkdir /opt/yanqi
RUN useradd yanqi && /opt/yanqi     // RUN命令可以這樣寫,這樣少一層佔用,佔用的儲存大小會低一點








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)