dockerfile构建flask环境

简介

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...

相关推荐