Dockerfile 簡介
Dockerfile是由一些列命令和參數構成的腳本,這些命令應用於基礎鏡像並最終創建一個新的鏡像。
作用
1、對於開發人員:可以爲開發團隊提供一個完全一致的開發環境;
2、對於測試人員:可以直接拿開發時所構建的鏡像或者通過Dockerfile文件構建一個新的鏡像開始工作了;
3、對於運維人員:在部署時,可以實現應用的無縫移植。
組成
命令 | 作用 |
---|---|
FROM image_name:tag | 定義了使用哪個基礎鏡像啓動構建流程 |
MAINTAINER user_name | 聲明鏡像的創建者 |
ENV key value | 設置環境變量 (可以寫多條) |
RUN command | 是Dockerfile的核心部分(可以寫多條) |
ADD source_dir/file dest_dir/file | 將宿主機的文件複製到容器內,如果是一個壓縮文件,將會在複製後自動解壓 |
CPOY source_dir/file dest_dir/file | 和ADD相似,但是如果有壓縮文件並不能解壓 |
WORKDIR path_dir | 設置工作目錄 |
EXPOSE port1 prot2 | 用來指定端口,使容器內的應用可以通過端口和外界交互 |
CMD argument | 在構建容器時使用,會被docker run 後的argument覆蓋 |
ENTRYPOINT argument | 和CMD相似,但是並不會被docker run指定的參數覆蓋 |
VOLUME | 將本地文件夾或者其他容器的文件掛載到容器中 |
構建鏡像
創建完一個Dockerfile文件之後並在其當前目錄下運行sudo Docker build -t new_image_name:tag .命令生成一個新的鏡像