简介
Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义镜像
指令及说明
指令 | 说明 |
FROM | 指定基础镜像 且必须是第一条指令 |
MAINTAINER | 指定镜像作者 |
RUN | 运行指定的命令 默认/bin/sh -c |
CMD | 指定容器启动时要执行的命令 |
LABEL | 设置镜像标签 |
ADD | 把文件复制到镜像中 类似scp |
COPY | 编译时复制本地文件到镜像中 |
WORKDIR | 设置RUN CMD COPY ADD指令的工作目录 不存在则创建 |
ENTRYPOINT | 设置容器入口程序 |
VOLUME | 设置容器的挂载卷 |
USER | 设置运行RUN CMD ENTRYPOINT的用户名 |
ARG | 设置编译时加入的参数 |
EXPOSE | 设置镜像暴露的端口 |
ENV | 设置容器的环境变量 |
ONBUILD | 设置镜像的ONBUILD指令 |
STOPSIGNAL | 设置容器的退出信号量 |
HEALTHCHECK | 容器监控状况检查命令 |
一个简单的例子
#This is SMS Dockerfile#Version 1.0#Author: LYW #基础镜像FROM daocloud.io/library/centos #维护者信息MAINTAINER LYW# 标签LABEL version="1.0"# 安装依赖RUN yum -y install wget gcc gcc-c++ make openssl-devel \zlib-devel bzip2-devel ncurses-devel \sqlite-devel readline-devel tk-devel \gdbm-devel db4-devel libpcap-devel xz-devel svn# 添加需要下载的资源RUN mkdir /usr/local/python3ADD http://XXX/software/Python-3.6.1.tgz /usr/local/srcWORKDIR /usr/local/src/RUN tar -zxvf Python-3.6.1.tgzWORKDIR /usr/local/src/Python-3.6.1# 安装pythonRUN ./configure --prefix=/usr/local/python3RUN make && make installRUN ln -s /usr/local/python3/bin/python3 /usr/bin/python3# 安装pip包RUN /usr/local/python3/bin/pip3 install Flask RUN /usr/local/python3/bin/pip3 install pymysql #目录挂载VOLUME ['/data/sms'] #端口EXPOSE 5000EXPOSE 22 #声明环境变量ENV PATH /usr/local/python3/bin:$PATH#CMD ["python3 -V"]
运行
docker build -t python/sms:v0.1 .
docker run -tid --name sms_01 -p 5000:5000 -p 5022:22 python/sms:v0.1 /sbin/init
参考