Sign inSign up

chung1912/python-from-requirements

By chung1912

Updated over 2 years ago

Image
Web servers
0

600

chung1912/python-from-requirements repository overview

拉取镜像,创建容器,app为python项目文件夹,start.sh为服务启动脚本,封装了nginx、git、sudo、locales、vim和playwright,apt源和pip源为清华源

docker run -it --name python-from-requirements \
-p 8080:8080 \
-v /path/to/app:/app  \
-v /path/to/start.sh:/usr/local/bin/start.sh \
-e PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple" \
--restart always \
chung1912/python-from-requirements

start.sh脚本示例

#!/bin/bash
# 安装依赖(requirements.txt放在/app文件夹)
pip install -r requirements.txt
# 检查pip命令是否成功执行
if [ $? -eq 0 ]; then
    python main.py
else
    echo "依赖安装失败,请检查错误信息并修复后重试。"
fi

配置Nginx时的一个部署示例

docker run -it --name python-from-requirements \
-p 8080:8080 \
-p 443:443 \
-v /path/to/app:/app \
-v /path/to/app/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /path/to/app/nginx/cert.pem:/etc/nginx/cert.pem:ro \
-v /path/to/app/nginx/cert.key:/etc/nginx/cert.key:ro \
-v /path/to/start.sh:/usr/local/bin/start.sh \
-e PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple" \
--restart always \
chung1912/python-from-requirements

nginx.conf的一个配置示例

events {
  worker_connections 1024;
}

http {
  server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com; # 替换为您的域名

    location / {
      proxy_pass http://localhost:8080; # 8080为应用程序运行的端口,自行调整
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
      proxy_set_header Accept-Encoding gzip;
      proxy_read_timeout 300s;  # 超时时间,请自行调整 
    }
  }

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name yourdomain.com; # 替换为您的域名

    ssl_certificate /etc/nginx/private.pem;
    ssl_certificate_key /etc/nginx/private.key;

    location / {
      proxy_pass http://localhost:8080; # 8080为应用程序运行的端口,请自行调整
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
      proxy_set_header Accept-Encoding gzip;
      proxy_read_timeout 300s;  # 超时时间,请自行调整
    }
  }
}

Tag summary

Content type

Image

Digest

sha256:0316680be

Size

1.1 GB

Last updated

over 2 years ago

docker pull chung1912/python-from-requirements