栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

在docker上部署django服务 docker+uwsgi+django+mysql+jenkins集成

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在docker上部署django服务 docker+uwsgi+django+mysql+jenkins集成

部署django服务 docker+uwsgi+django+mysql+jenkins集成 常用命令 docker

docker exec -it django_python bash # 进入容器
docker rmi -f $(docker images -q) # 删除全部镜像
docker rm $(docker ps -a -q) # 删除全部容器
docker stop $(docker ps -a -q) # 停止全部容器
docker logs --tail=1000 platform_python

uwsgi

find / -name uwsgi
ln -s /var/python3/bin/uwsgi /usr/bin/uwsgi # 建立软连接
uwsgi --ini /home/project/autotestplatform/uwsgi.ini

django

python manage.py makemigrations
python manage.py migrate

python

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

一、docker-compose
version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts

    container_name: jenkins
    volumes:
#      - "/home/project:/var/jenkins_home/workspace"
      - "/home/jenkins:/var/jenkins_home"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/usr/bin/docker:/usr/bin/docker"
    environment:
      JAVA_OPTS: -Duser.timezone=Asia/Shanghai
    ports:
      - "10240:8080"
      - "10241:50000"
    user: root
    links:
      - "mysql"

#  redis:
#    image: "redis:alpine"
#    container_name: redis
#    restart: always
#    volumes:
#      - ../redis/redis.conf:/usr/local/etc/redis/redis.conf:rw
#      - ../redis/data:/data:rw
#    command: --requirepass "123456"
#    ports:
#      - "6379:6379"
#    expose:
#      - 6379
  mysql:
    image: "mysql"
    container_name: mysql
    volumes:
      - "./db:/var/lib/mysql"
      - "./conf/my.cnf:/etc/my.cnf"
      - "./init:/docker-entrypoint-initdb.d/"
    ports:
      - "3306:3306"
    expose:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_USER: 'js'
      MYSQL_PASS: '123456'
  platform:
    image: platform_python
    build: .
    container_name: platform_python
    volumes:
      - "/home/jenkins/workspace:/home/project"
    ports:
      - "8000:8000"
    depends_on:
      - mysql
      - jenkins
    links:
      - "mysql"
二、dockerfile
FROM python:3.9.7
RUN mkdir /home/project
WORKDIR /home/project/autotestplatform
CMD ["sh", "/home/project/autotestplatform/start.sh"]
三、uwsgi.ini
[uwsgi]
http= 0.0.0.0:8000
chdir=/home/project/autotestplatform
wsgi-file = autotestplatform/wsgi.py
processes = 1
threads = 4
master=True
pidfile=uwsgi.pid
;daemonize=uwsgi.log # 注释掉才会运行起容器
static-map = /static=/var/python3/lib/python3.9/site-packages/rest_framework/static # 静态文件没加载的话就去找restframework的static文件夹
四、start.sh
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
python manage.py makemigrations&& # 1. 生成数据库可执行文件,
python manage.py migrate&&  # 2. 根据数据库可执行文件来修改数据库

uwsgi --ini /home/project/autotestplatform/uwsgi.ini # 5. 用 uwsgi启动 django
五、注意事项
  1. 本地文件路径 映射容器Jenkins路径
  2. 本地文件路径映射后会出现Jenkins workspace目录 映射到python项目下
  3. 构建任务的名称会生成文件夹,同python项目配置的文件夹名称一致
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/948178.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号