资讯专栏INFORMATION COLUMN

dockerfile构建flask环境

shaonbean / 2233人阅读

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

简介

</>复制代码

  1. 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 容器监控状况检查命令
一个简单的例子

</>复制代码

  1. #This is SMS Dockerfile
  2. #Version 1.0
  3. #Author: LYW
  4. #基础镜像
  5. FROM daocloud.io/library/centos
  6. #维护者信息
  7. MAINTAINER LYW
  8. # 标签
  9. LABEL version="1.0"
  10. # 安装依赖
  11. RUN yum -y install wget gcc gcc-c++ make openssl-devel
  12. zlib-devel bzip2-devel ncurses-devel
  13. sqlite-devel readline-devel tk-devel
  14. gdbm-devel db4-devel libpcap-devel xz-devel svn
  15. # 添加需要下载的资源
  16. RUN mkdir /usr/local/python3
  17. ADD http://XXX/software/Python-3.6.1.tgz /usr/local/src
  18. WORKDIR /usr/local/src/
  19. RUN tar -zxvf Python-3.6.1.tgz
  20. WORKDIR /usr/local/src/Python-3.6.1
  21. # 安装python
  22. RUN ./configure --prefix=/usr/local/python3
  23. RUN make && make install
  24. RUN ln -s /usr/local/python3/bin/python3 /usr/bin/python3
  25. # 安装pip包
  26. RUN /usr/local/python3/bin/pip3 install Flask
  27. RUN /usr/local/python3/bin/pip3 install pymysql
  28. #目录挂载
  29. VOLUME ["/data/sms"]
  30. #端口
  31. EXPOSE 5000
  32. EXPOSE 22
  33. #声明环境变量
  34. ENV PATH /usr/local/python3/bin:$PATH
  35. #
  36. CMD ["python3 -V"]
运行

构建镜像

</>复制代码

  1. docker build -t python/sms:v0.1 .

基于镜像启动容器

</>复制代码

  1. docker run -tid --name sms_01 -p 5000:5000 -p 5022:22 python/sms:v0.1 /sbin/init
参考

</>复制代码

  1. 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元查看
<