资讯专栏INFORMATION COLUMN

dockerfile构建flask环境

shaonbean / 2162人阅读

摘要:简介是一个文本格式的配置文件,用户可以使用快速创建自定义镜像指令及说明指令说明指定基础镜像且必须是第一条指令指定镜像作者运行指定的命令默认指定容器启动时要执行的命令设置镜像标签把文件复制到镜像中类似编译时复制本地文件到镜像中设置指令的工作

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27392.html

相关文章

  • docker-compose 运行 Flask 应用最佳实践

    摘要:现在有了之后,部署方式变了更加容易,不容易出现配置错误,环境不一致问题。实际应用中,经常遇到多个容器相配合运行一套应用程序的情况。所以想要将应用运行在容器中,该容器必须将该应用所有的环境依赖安装好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景   以前部署应用,需要各种环境配置,各种shell操作...

    fasss 评论0 收藏0
  • docker-compose 运行 Flask 应用最佳实践

    摘要:现在有了之后,部署方式变了更加容易,不容易出现配置错误,环境不一致问题。实际应用中,经常遇到多个容器相配合运行一套应用程序的情况。所以想要将应用运行在容器中,该容器必须将该应用所有的环境依赖安装好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景   以前部署应用,需要各种环境配置,各种shell操作...

    sumory 评论0 收藏0
  • Docker实战:更轻松、更愉快、更高效

    摘要:接下来,我们来看一个更酷的工作流程,即通过引入来实现项目的持续集成。是一个持续集成发布平台,支持对容器进行测试。取消对的选中状态。 showImg(https://segmentfault.com/img/bVk4cF); 借助Docker,我们可以更容易地进行web应用部署,而同时不必头疼于项目依赖、环境变量以及各种配置问题,Docker可以快捷、高效地处理好这一切。 而这也是本...

    hosition 评论0 收藏0
  • Part 2: Containers

    摘要:在默认情况下使用的公共注册表。注意我们将在这里使用的公共注册表,因为它是免费和预配置的,但是有许多公共注册中心可供选择,而且您甚至可以使用可信注册表建立您自己的私有注册表。标记镜像将本地映像与注册表中的存储库关联的符号是。 要求 安装了1.13或者更高版本的Docker 阅读了Part1中的定位(我没写) 介绍 是时候用Docker构建一个app了。我们会从构建这样一个app的最底...

    Soarkey 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<