将Python应用程序反代到网站上,可以使用Docker容器来实现,步骤如下:

将Python应用程序反代到网站上,可以使用Docker容器来实现,步骤如下:

 

  1. 首先在宝塔面版里安装docker管理器
  2. 把你写好的Python应用程序文件上传到网站目录下 (例 test.py 上传到网站目录下)
  3. 编写Dockerfile:在Python应用程序所在的目录下,创建一个名为Dockerfile的文件,内容如下:
    #指定了所需的基础镜像,这里使用的是Python 3.9.5的“slim”版本,即只包含必要的组件和依赖项,最小化镜像大小。
    FROM python:3.9.5-slim-buster
    #将本地当前目录中的所有文件拷贝到镜像中的/app目录下。
    COPY . /app
    #将当前工作目录切换到/app。
    WORKDIR /app
    #安装指定依赖项,这里的依赖项列表存储在文件requirements.txt中 一行一条 格式例aiohttp==3.8.3,并且使用清华大学的镜像源进行安装。(可以用pip freeze命令查看你本地已安装依赖项版本)
    RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    #声明了容器将要映射的端口号,这里是8000
    EXPOSE 8000
    #定义了容器启动时执行的默认命令,即运行test.py文件
    CMD ["python","test.py"]
    #指定了所需的基础镜像,这里使用的是Python 3.9.5的“slim”版本,即只包含必要的组件和依赖项,最小化镜像大小。
    FROM python:3.9.5-slim-buster
    
    #将本地当前目录中的所有文件拷贝到镜像中的/app目录下。
    COPY . /app
    #将当前工作目录切换到/app。
    WORKDIR /app
    
    #安装指定依赖项,这里的依赖项列表存储在文件requirements.txt中 一行一条 格式例aiohttp==3.8.3,并且使用清华大学的镜像源进行安装。(可以用pip freeze命令查看你本地已安装依赖项版本)
    RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    #声明了容器将要映射的端口号,这里是8000
    EXPOSE 8000
    #定义了容器启动时执行的默认命令,即运行test.py文件
    CMD ["python","test.py"]
    #指定了所需的基础镜像,这里使用的是Python 3.9.5的“slim”版本,即只包含必要的组件和依赖项,最小化镜像大小。 FROM python:3.9.5-slim-buster #将本地当前目录中的所有文件拷贝到镜像中的/app目录下。 COPY . /app #将当前工作目录切换到/app。 WORKDIR /app #安装指定依赖项,这里的依赖项列表存储在文件requirements.txt中 一行一条 格式例aiohttp==3.8.3,并且使用清华大学的镜像源进行安装。(可以用pip freeze命令查看你本地已安装依赖项版本) RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple #声明了容器将要映射的端口号,这里是8000 EXPOSE 8000 #定义了容器启动时执行的默认命令,即运行test.py文件 CMD ["python","test.py"]

     

  4. 在Python应用程序所在的目录下,创建install.sh文件,内容如下:
    #在当前目录下使用名为Dockerfile的文件构建一个名为my-python-app的Docker镜像。
    docker build --file Dockerfile --tag my-python-app .
    #停止并删除名为my-python-app的容器,前提是该容器已经在运行。
    docker stop my-python-app && docker rmmy-python-app
    #创建一个名为my-python-app的容器并运行它。该容器将使用之前创建的my-python-app镜像,并绑定容器的8000端口到主机的8333端口。容器将在后台运行,并且如果容器停止,它将自动重启(根据--restart=always选项)。
    docker run -d --restart=always -p 8333:8000 --name my-python-app my-python-app
    #在当前目录下使用名为Dockerfile的文件构建一个名为my-python-app的Docker镜像。
    docker build --file Dockerfile --tag my-python-app .
    
    #停止并删除名为my-python-app的容器,前提是该容器已经在运行。
    docker stop my-python-app && docker rmmy-python-app
    
    #创建一个名为my-python-app的容器并运行它。该容器将使用之前创建的my-python-app镜像,并绑定容器的8000端口到主机的8333端口。容器将在后台运行,并且如果容器停止,它将自动重启(根据--restart=always选项)。
    docker run -d --restart=always -p 8333:8000 --name my-python-app my-python-app
    #在当前目录下使用名为Dockerfile的文件构建一个名为my-python-app的Docker镜像。 docker build --file Dockerfile --tag my-python-app . #停止并删除名为my-python-app的容器,前提是该容器已经在运行。 docker stop my-python-app && docker rmmy-python-app #创建一个名为my-python-app的容器并运行它。该容器将使用之前创建的my-python-app镜像,并绑定容器的8000端口到主机的8333端口。容器将在后台运行,并且如果容器停止,它将自动重启(根据--restart=always选项)。 docker run -d --restart=always -p 8333:8000 --name my-python-app my-python-app

     

  5. 在Python应用程序所在的目录下 右击鼠标-终端-输入这个代码安装chmod +x install.sh && ./install.sh
  6. 安装成功 在网站配置里反代127.0.0.1:8333保存 然后用你的域名就可以访问了
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
When your faith is stronger than your fears, you can make your dreams happen.
当你的信念强于你的胆怯时,你就可以将梦想变为现实了
评论 抢沙发

请登录后发表评论