Docker部署Tornado

作者: pdnbplus | 发布时间: 2024/06/17 | 阅读量: 236

Docker部署Tornado -- 潘登同学的Linux笔记

创建Python容器

安装python镜像

docker pull python:3.8

创建一个docker内部网段(172.18.0.x)

# 斜杠16表示2^16 -2 个可分配的ip地址
docker network create --subnet=172.18.0.0/16 tornado_net

先在宿主机上创建一个目录,将这个目录挂载到python容器里面,以后直接将python项目拷贝进去,就能在python容器里面看见了

# 创建project文件夹
mkdir project/tornado_project
# 创建Python容器
docker run -it -d --name=tornado_project -p 9501:5000 -v /root/project/tornado_project:/root/project --net tornado_net --ip 172.18.0.2 python:3.8 bash

进入刚创建的python容器,配置虚拟环境

# 配置清华源
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 创建虚拟环境
pip install virtualenv
virtualenv tornado_env
# 启动虚拟环境
source tornado_env/bin/activate

配置MySQL服务

# 下载mysql镜像
docker pull mysql
# 开启mysql服务
docker run --name tornado_mysql -p 4306:3306 --net tornado_net --ip 172.18.0.3 -v /root/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql
# 把原本本地的mysql的表及数据都扔过去

配置Redis服务

docker pull Redis
docker run --name tornado_redis -p 6379:6379 --net tornado_net --ip 172.18.0.4 -d redis
# 测试行不行
docker exec -it tornado_redis bash
redis-cli

Tornado应用项目部署

# 在tornado中把该改的数据库配置等改掉
# 冻结库,生产所需库的文件
pip freeze > requirement.txt
# 把项目拷贝到/root/project/tornado_project目录下
# 回到云服务器中
docker exec -it tornado_project bash
source tornado_env/bin/activate
# 进入项目目录
cd xxx
pip install -r requirement.txt
# 启动项目
python manager.py