|NO.Z.00108|——————————|CloudNative|——|KuberNetes&Docker操作.V06|----------------------------------------------------|dockerfile.v01|from&run|
阿新 • • 發佈:2022-03-29
[CloudNative:KuberNetes&二進位制升級.V06] [Applications.KuberNetes] [dockerfile|FROM/MAINTAINER/RUN/EXPOSE/CMD/ENTRYPOINT/VOLUME/ENV/ADD/WORKDIR/USER|]
一、Dockerfile指令
二、Dokerfile:FROM和RUN引數### --- 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:容器使用的使用者
### --- 建立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)