Docker 構建映像

1.用docker commit構建映像
  1.docker run -i -t centos /bin/bash  //啓動一個容器,啓動後默認進入該窗口的bash進程
  2.yum install -y epel-release.noarch  //爲啓動的窗口安裝軟件源
  3.yum install -y nginx  //爲啓動的容器安裝nginx
  4.exit  //退出該容器,回到宿主機環境
  5.docker commit 容器ID dingyingsi/nginx  //將上次建立的窗口ID看成映像提交到本地,dingyingsi是repository名稱,nginx是image名稱
  6.docker images  //能夠查看到上步提交的映像
  注意:
    1.必定要區分開容器和映像的區別;
    2.有了dingyingsi/nginx後,下次能夠直接使用該映像來啓動容器,而不用爲這個容器安裝nginx;
    3.docker commit -m="this is a container contains nginx" --author="dingyingsi" 容器ID dingyingsi/nginx,相似git不做多餘解釋;

 

 2.Dockerfile構建映像
 1.建立Dockerfile文件:
   
 2.docker build -t="dingyingsi/nginx:dockerfile" .  //運行這個命令開始用Dockerfile構建映像,當前目錄中必定要包含Dockerfile文件;
 3.docker images  //能夠查看到上步提交的映像
 3.在使用Dockerfile構建映像時,若是將Dockerfile腳本中RUN yum install -y nginx改爲 RUN yum install -y ngin 構建過程就會失敗。以下圖:
  在Dockerfile中, 每RUN指令執行時,都會建立一個新的映像層,當每一個RUN指令執行完時,會自動提交該層;所以RUN指令在哪上步出錯時,只須要用docker run 命令進入該映像層對應的上一次未出錯容器便可;
  上將中nginx寫錯成ngin,故執行時出錯,只須要運行  docker run -i -t b677fae24538 /bin/bash ,便可進入 RUN yum install -y epel-release.noarch 對應的映像層容器;
  在此映像層容器中執行yum install -y ngin命令,便可獲得錯誤詳細提示;
相關文章
相關標籤/搜索