〇. 写在前面
博主利用两台已安装docker的机器进行测试
- 本地主机:Windows10
- 服务器端:Centos8
- docker版本:Docker version 20.10.13, build a224086
Ⅰ. 编写python服务代码
-
首先python代码结构如下
-
利用Flask框架编写一个简单的python服务demo
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return """
<h1>Python Flask in Docker!</h1>
<p>A sample web-app for running Flask inside Docker.</p>
"""
if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0')
- 制作requirements.txt
可以通过pip freeze > requirements.txt产生
也可以自行编写
完成后将其放在与app文件夹同一目录下
至此,代码部分已经准备完毕!
Ⅱ. 构建Docker镜像
- 制作Dockerfile
新建Dockerfile
编写Dockerfile
# 基于的基础镜像
FROM python:3.8.8
# 代码添加至文件夹
ADD . /
# 设置工作目录文件夹
WORKDIR /
# 安装支持
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python", "app/app.py"]
- 创建docker镜像
docker build -t python-app:0.1 .
- 查看镜像
docker image ls
Ⅲ. 本地启动Docker容器
docker run -it -p 7000:5000 python-app:0.1
从浏览器访问测试是否可以访问
Ⅳ. 打包镜像
首先查看镜像ID
docker image ls
然后进行打包
docker save 6b82 -o python-app.tar.gz
Ⅴ. 上传镜像
将镜像通过ftp方式上传至服务器端随意位置
Ⅵ. 导入镜像
查看服务端已有镜像,可看出此时并无python-app:0.1镜像
docker image ls
通过压缩包导入镜像并重命名
docker load -i python-app.tar.gz
docker tag 6b8 python-app:0.1
服务端镜像导入成功!
Ⅶ. 服务端启动Docker容器
docker run -it -p 7000:5000 python-app:0.1
从浏览器访问测试是否可以访问
服务端测试成功!
Ⅷ. 结语
Over!大功告成!
至此,本文到此结束!
关于 “利用docker打包python app服务并实现迁移” 已全部完成。
本文只做学习用途,无任何商业用途!
转载注明出处!祝各位学业/事业有成!
大大怪爱小乖乖!
研哥哥