将python项目部署到Docker

Docker 专栏收录该内容
3 篇文章 0 订阅

1.拉取python3.6镜像

docker image pull python:3.6

2.找一个目录创建test目录,目录下创建一个打印hello world的python flask项目作为例子

cd test
sudo vim main.py
  • 内容如下
from flask import Flask
from flask import Flask, render_template, request
from flask import jsonify

def create_app():
    app = Flask(__name__)
    return app

app = create_app()

@app.route('/')
def index():
    return 'hello world!'


if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)

  • 保存退出
    在这里插入图片描述

  • 需要用到flask 所以需要pip3 install flask 支持

  • 运行一下试试

python main.py

在这里插入图片描述

  • 启动成功
  • 浏览器输入localhost:5000
  • 出现hello world!
    在这里插入图片描述

3. 和test同级目录创建Dockerfile文件(不带后缀)

在这里插入图片描述

  • 内容如下
基于的基础镜像
FROM python:3.6
#代码添加到code文件夹
ADD ./test /code
# 设置code文件夹是工作目录
WORKDIR /code
# 安装支持
RUN pip install flask -i https://pypi.douban.com/simple/
CMD ["python", "/code/main.py"]
  • 保存退出

注意,此处安装支持时,项目中使用 pip install -r requirements.txt 即可安装全部环境

4. 把python项目制作成镜像

  • 在Dockerfile同级目录执行
docker build -t flask_test .

flask_test 为镜像名 . 表示当前目录

出现
Successfully built a69e5b09b454 #镜像id
Successfully tagged flask_test:latest #镜像名字
即为成功

  • 执行docker image ls 查看
    在这里插入图片描述

5.运行镜像,生成并启动容器

  • 执行命令:
docker run -i -t -p 5000:5000 --name flask_test_c flask_test

-i:表示交互式容器,非启动后立刻结束的容器
-t: 表示终端式

-p 9060:9060:表示将docker的5000端口,映射到Linux虚拟机的5000端口

                    也就是说,访问Linux虚拟机的5000端口,就是在访问docker容器的5000端口

–name flask_test_c:给容器取个名字,嫌麻烦可以省去

flask_test:容器是用哪个镜像启动的(一个容器,必须依赖一个镜像启动)

  • 和上面用python main.py启动效果一致,同时生成一个容器
    在这里插入图片描述
  • 浏览器输入localhost:5000
  • 出现hello world!
    在这里插入图片描述

小记

删除image镜像是会提示占用,此时先删除对应的容器再删除image即可

  • 2
    点赞
  • 1
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值