将python项目部署到Docker

  • ubuntu/linux安装docker并使用国内加速

  • Docker镜像操作/Docker容器操作/Docker将容器保存为镜像/Docker镜像备份与迁移

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)

  • 保存退出
    将python项目部署到Docker_第1张图片

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

  • 运行一下试试

python main.py

将python项目部署到Docker_第2张图片

  • 启动成功
  • 浏览器输入localhost:5000
  • 出现hello world!
    将python项目部署到Docker_第3张图片

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

将python项目部署到Docker_第4张图片

  • 内容如下
基于的基础镜像
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启动效果一致,同时生成一个容器
    将python项目部署到Docker_第5张图片
  • 浏览器输入localhost:5000
  • 出现hello world!
    将python项目部署到Docker_第6张图片

小记

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

你可能感兴趣的:(Docker)