用 Dockerfile Build 映像檔

  1. 必須先建一個空的工作目錄,再產生 dockfile。
    [root@dyw219 ~]# mkdir newimg 
    [root@dyw219 ~]# cd newimg 
    [root@dyw219 newimg]#
    
  2. 產生 Dockerfile,建一目錄 mydir,將 start.sh 複製到映像檔的 mydir 目錄,並增加 start.sh 可執行的屬性:
    [root@dyw219 newimg]# vim Dockerfile 
    [root@dyw219 newimg]# cat Dockerfile
    # mydir comment
    FROM centos:latest
    RUN mkdir mydir
    COPY start.sh mydir/
    RUN chmod +x mydir/*.sh
    
  3. 產生 start.sh 只有一個 date 顯示日期時間的命令。
    [root@dyw219 newimg]# echo 'date' > start.sh
    [root@dyw219 newimg]# cat start.sh 
    date
    
  4. docker build 使用 Dockerfile,建立一名為 centos:mydir 的映像檔,最後的點 . 表示目前的工作目錄,也可以用絕對目徑。
    [root@dyw219 newimg]# docker build -t centos:mydir .
    Sending build context to Docker daemon 3.072 kB
    Sending build context to Docker daemon 
    Step 0 : FROM centos:latest
     ---> ee2526f4865b
    Step 1 : RUN mkdir mydir
     ---> Running in ddb205b0b5d0
     ---> 40b8cd4293bf
    Removing intermediate container ddb205b0b5d0
    Step 2 : COPY start.sh mydir/
     ---> b3203aee6d7f
    Removing intermediate container d325c1fa9389
    Step 3 : RUN chmod +x mydir/*.sh
     ---> Running in 1263be3c46af
     ---> 9fe04fab671a
    Removing intermediate container 1263be3c46af
    Successfully built 9fe04fab671a