1. 程式人生 > >Docker容器製作

Docker容器製作

Dockerfile

  • docker映象的製作就是建立一個名字為Dockerfile的檔案,根據這個檔案去製作映象

Dockerfile檔案結構

  • 基礎映象資訊,格式:FROM 基礎映象,可以有多條FROM命令,例子如下:
    FROM ubuntu
  • 維護者資訊,格式:MAINTAINER 維護者名稱 郵箱,例子如下:
    MAINTAINER myName [email protected]
  • 映象操作指令

    • RUN:用於執行shell命令,RUN xxx相當於 /bin/sh -c “xxx”,製作映象時會在容器中執行
    • ENV:指定一個環境變數,後續可以被RUN使用,並在容器執行時保持
    • ADD src dest:複製指定src到容器中的dest,src可以是Dockerfile所在目錄的一個相對路徑,也可以是一個URL,還可以是一個tar包,tar包會自動解壓
    • COPY src dest:複製本機的src(dockerfile所在目錄的相對目錄)到容器中的dest,複製本機目錄時推薦使用COPY
    • EXPOSE:將容器中的埠暴露出來,啟動容器時還得做host-container的埠對映,如下將主機的33301和容器中的22埠進行對映:
      docker run -p 127.0.0.1:33301:22 centos6-ssh
    • ENTRYPOINT:container啟動時執行的命令,但是一個Dockerfile中只能有一條ENTRYPOINT命令,如果多條,則只執行最後一條,ENTRYPOINT不會像CMD一樣被啟動容器時指定的命令替代掉
    • VOLUME:在容器中建立一個目錄,可以將宿主機資料夾或其他container的資料夾掛載到該目錄上
      • 格式為:VLOUME [“/data”]
      • 在啟動容器時可以將宿主機目錄掛載上去,如:docker run -v $HOSTPATH:$CONTAINERPATH
  • 容器啟動指令CMD,指定啟動容器時執行的命令,如果指定了多條CMD命令,只有最後一條起作用,如果使用者啟動容器時指定了執行的命令,會覆蓋掉CMD指定的命令