『中级篇』Dockerfile实战(19)

如何从一个python程序打包成为image,然后上传到dockerhub,最后下载image,生成对应的container容器。走咱们一起走个流程下来。

python程序

  • 编写python程序
mkdir flask-hello-world
cd flask-hello-world/
vim app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hell():
        return "hello docker public attention:idig88"
if __name__=='__main__':
        app.run(port=8888)
  • 运行python程序
python app.py
#安装flask插件
sudo yum -y install epel-release
sudo yum -y install python-pip
pip install flask
python app.py

编写Dockerfile文件

vim Dockerfile
FROM python:2.7
LABEL maintainer="zhugeaming"
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
RUN echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
RUN apt-get update
RUN pip install flask
COPY app.py /app/
WORKDIR /app
EXPOSE 8888
CMD ["python","app.py"]
docker image ls

运行container

docker run zhugeaming/flask-hello-world
#后台运行
docker run -d zhugeaming/flask-hello-world

容器有2个一个是刚才执行,一个后台执行的,后台直接执行。不加入-d的已经退出了。

PS:本次就是做了个实战,通过四步

  1. 代码编写好
  2. 环境python环境
  3. 第三方依赖
  4. 执行命令

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-06-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法修养

Docker 学习应用篇之二: Docker的介绍和安装

   之前说过Docker的好处,Docker可以集装箱化的部署应用程序。那么Docker是通过什么实现的呢。要理解Docker内部构建,需要先理解Docker...

40810
来自专栏Felix的技术分享

Docker简单使用

18011
来自专栏散尽浮华

ubuntu下nginx+php5的部署

ubuntu下nginx+php5环境的部署和centos系统下的部署稍有不同,废话不多说,以下为操作记录: 1)nginx安装 root@ubuntutest...

1955
来自专栏编程坑太多

『中级篇』Dockerfile实战(19)

1436
来自专栏吴伟祥

rz、sz是Linux同Windows进行ZModem文件传输的命令行工具

要使用rz、sz 命令。需要在系统上安装对应的 lrzsz 软件包 ,要查询是否安装了lrzsz软件包,使用如下命令:

711
来自专栏应兆康的专栏

Docker 简介与安装

Github:https://github.com/yingzk/MyDocker 1. Docker 简介 Docker是一个开源(Github地址: htt...

32712
来自专栏iOSDevLog

macOS 用 Docker 安装 gogsDockergogs配置

993
来自专栏Java技术栈

Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

除了可以在Docker Hub上搜索镜像外,还可以通过命令 docker search xxx 进行搜索,下面以 mysql 为例:

1012
来自专栏生信技能树

跟着jimmy学docker系列之第3讲:为何不创建自己的docker容器呢?

前面我们说到,在docker仓库下载的那个容器是错误的,因为它配置的Ubuntu库文件不够,所以我更新了,形成了自己的容器

702
来自专栏王小雷

创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作

实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一...

2287

扫码关注云+社区