简介
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/python3
ADD http://XXX/software/Python-3.6.1.tgz /usr/local/src
WORKDIR /usr/local/src/
RUN tar -zxvf Python-3.6.1.tgz
WORKDIR /usr/local/src/Python-3.6.1
# 安装python
RUN ./configure --prefix=/usr/local/python3
RUN make && make install
RUN 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 5000
EXPOSE 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
参考
https://www.cnblogs.com/dazho...