Dockerfile是由一系列的命令和參數(shù)構成的腳本,這些命令應用于基礎鏡像并最終創(chuàng)建一個新的鏡像。
Dockerfile編寫官方說明文檔:https://docs.docker.com/engine/reference/builder/#usage
編寫Dockerfile構建基于Centos7+Nginx的鏡像例子:
FROM centos:latest #使用centos最新版本作為基礎鏡像
RUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #備份默認yum源
RUN curl https://mirrors.163.com/.help/CentOS7-Base-163.repo -o /etc/yum.repos.d/CentOS-Base.repo # 替換成163源
RUN yum clean all && yum makecache
RUN yum -y install yum-utils nginx net-tools iproute lsof vim git #安裝Nginx服務
RUN systemctl enable nginx.service #設置Nginx服務默認啟動
CMD /usr/sbin/init #容器啟動時執(zhí)行的指令
EXPOSE 80/tcp #開放TCP 80端口
把文件保存名為Dockerfile到新建的build文件夾下 ,執(zhí)行build命令:
docker build -t "Nginx:1.14" . #最后一點表示在當前目錄下使用Dockerfile文件構建
#docker build --help
#Usage: docker build [OPTIONS] PATH | URL | -
#Build an image from a Dockerfile
#-t, --tag list Name and optionally a tag in the 'name:tag' format
構建完成:
Mac-Pro ~/build> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx test fa748cfe1111 17 seconds ago 392MB