『中级篇』Dockerfile实战(19)

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

####python程序

  • 编写python程序mkdir flask-hello-world cd flask-hello-world/ vim app.py
image.png
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
    image.png
#安装flask插件
sudo yum -y install epel-release
sudo yum -y install python-pip
pip install flask
python app.py
image.png

编写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"]
image.png
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. 执行命令

image

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算

如何为容器部署安装Docker和Pull图像

这些步骤使用官方Ubuntu代码存储库安装Docker Community Edition(CE)。要在其他发行版上安装,请参阅官方安装页面。

1603
来自专栏性能与架构

Docker中配置centos容器支持ssh

image.png 在Docker起步中,已经下载了ubuntu系统镜像,启动容器后成功执行了一个简单的系统命令 此时的容器是封闭的,下面我们就建立起和容器的沟...

3798
来自专栏WebDeveloper

初学docker(win10)

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、...

1762
来自专栏dalaoyang

docker部署springboot项目

1474
来自专栏散尽浮华

Docker容器学习梳理-Dockerfile构建镜像

在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低。所以就需要一 种文件或脚...

2688
来自专栏Spring相关

在Centos7上安装Docker

在Centos7上安装Docker-ce直接用yum install docker -y安装的docker版本为1.12,但是docker发展很快,现在都18....

2103
来自专栏散尽浮华

Docker容器学习梳理--日常操作总结

使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Com...

4085
来自专栏编程坑太多

跟我一起学docker(三)--镜像的常用操作

1516
来自专栏有刻

Docker 小记 — Docker Engine

4119
来自专栏云计算教程系列

Docker入门教程

Docker是一个部署和管理容器化应用程序的平台。由于容器的灵活性,容器在开发人员,管理员和开发人员工程师中很受欢迎。

1971

扫码关注云+社区