linux+docker部署python项目

简单分享下自己在服务器部署python项目的经验:

前提:服务器上安装好docker+python

一、项目打包

1、在idea中的项目根目录打开Terminal,执行以下命令

pip freeze > requirements.txt

注:用于服务器上直接安装项目所需依赖包

2、将项目打包放在服务器上,然后解压

注:自己找个地方新建个文件夹,将项目放进去解压即可

二、发布Linux上

1、在项目根目录创建Dockerfile,编写执行脚本,内容如下:

# 设置基础镜像

FROM python:3.7

# 设置代码文件夹工作目录 /app

WORKDIR /app

# 复制当前代码文件到容器中 /app

ADD . /app

# 设置时间

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 安装所需的包,这里的requirements文件名需和项目生成的一致

RUN pip install --trusted-host mirrors.tuna.tsinghua.edu.cn -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

# 执行入口文件

CMD ["python", "app.py"]

linux+docker部署python项目_第1张图片

 

2、生成镜像

cd进项目根目录,app.py启动文件需要同Dockerfile放置在同一目录下,执行以下命令生成镜像,注意命令后的 ‘.’ 符号指的是在当前目录下执行创建,不要遗漏了该符号。创建会去执行下载基础镜像和各个依赖,需要等待一定时间。

后边有一个 “.”

docker build -t 镜像名称 .

查看镜像是否生成:docker images

linux+docker部署python项目_第2张图片

 

3、.启动容器

在我的项目中启动的端口是9528,在启动容器时候把该端口映射到19528,这样我们就可以通过该端口访问项目了

docker run --name 容器名称 -d -p 19528:9528镜像名称

查看容器是否生成并启动:docker ps 

4、抛出端口(用于外部可访问此端口):

/sbin/iptables -I INPUT -p tcp --dport 19528 -j ACCEPT

通过ip和端口访问测试的接口

linux+docker部署python项目_第3张图片

 

好了,至此算是完成啦!

另外,还可以通过以下命令进入容器,退出容器等

进入容器

docker exec -it 容器名 /bin/bash

退出容器

exit

你可能感兴趣的:(docker,linux,python)