上线文档

在项目的根目录下,使用pip freeze > requirements.txt自动整合这个项目所需要的各种包到requirement.txt里面
ps:最好在pycharm的控制台中使用,在cmd中使用会有多余的包
这个命令可能会导错包,可以安装pip install pipreqs,
在项目根目录下执行pipreqs ./
如果报错执行pipreqs ./ --encoding=utf-8

pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

换个国内下载源
setting.py配置

ALLOWED_HOSTS = ['*']

Dockerfile文件

FROM python:3.8.4 
RUN mkdir -p /app
WORKDIR /app 
COPY pip.conf /root/.pip/pip.conf
COPY requirements.txt /app 
COPY . /app


EXPOSE 8000
RUN pip install -r /app/requirements.txt

CMD  ["python","./manage.py","runserver","0.0.0.0:8000"] 

Dockerfile文件没有后缀,pip.conf,Dockerfile文件放到根目录下,# FROM下载python,WORKDIR调到app目录下相当于cd,COPY复制当前文件到app下,EXPOSE 8000开放端口8000,
2. 开始手动
在合适的地方创建一个自己的文件夹
2.1上传项目

2.2 docker 部署
进入Dockerfile所在的那一级目录下面

执行命令 docker image build -t '镜像名' .

-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest。最后的那个点表示 Dockerfile 文件所在的路径,因为是当前路径,所以是一个点。
执行命令:docker images

如果成功的话,查看当前镜像,里面就会有你的image
下面则来创建容器

docker container run -p 9452:8000 -d --name  容器名 
镜像名

● -p参数:第一个8000是本机端口,第二个8000是容器端口
● -it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
● container-hello:是容器名字
● hello:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。
docker ps看容器是否启动

运行成功的话,在网址上输入172.16.128.133:9452/att/就能看到djangoapi了
2.3 nginx 配置
将git clone 下来的前端中dist.zip解压在/usr/share/nginx/html文件夹中,如果解压在/usr/share/nginx/中的话,dist和html2个文件夹只能存在一个
vim /etc/nginx/conf.d/xxx.conf创建nginx的conf文件,将下方内容粘贴进去
2.4 xxx.conf配置(/etc/nginx/conf.d/xxx.conf)

   server {
        listen 9528      ;# vue端口
        server_name  172.16.128.67;#服务器IP
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
     location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
        }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

nginx -t测试是否ok
systemctl reload nginx启动就可以访问172.16.128.67:9528了

posted @ 2023-11-03 15:03  无敌大帅逼  阅读(30)  评论(0)    收藏  举报