Docker容器製作
阿新 • • 發佈:2018-12-26
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指定的命令