dapi 基于Django的轻量级测试平台八 Docker部署

QQ群:529063263

GitHub:https://github.com/yjlch1016/dapi

采用Docker+Supervisor+Nginx+uWSGI+Django

一、Dockerfile文件:

FROM ubuntu:18.04
# 基础镜像

MAINTAINER yangjianliang <526861348@qq.com>
# 作者

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
# 设置apt源为阿里云源

RUN apt-get clean &&
    apt-get update &&
    apt-get upgrade -y
# 检查软件包并升级

RUN apt-get install -y
    git
    python3 &&
    apt-get update &&
    apt-get install -y
    python3-dev
    python3-setuptools &&
    apt-get update &&
    apt-get install -y
    python3-pip &&
    apt-get update &&
    apt-get install -y
    nginx
    supervisor &&
    apt-get update &&
    ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
    apt-get install -y
    tzdata &&
    rm -rf /var/lib/apt/lists/*
# 安装软件

RUN echo "daemon off;" >> /etc/nginx/nginx.conf
COPY deploy_conf/nginx-app.conf /etc/nginx/sites-available/default
COPY deploy_conf/supervisor-app.conf /etc/supervisor/conf.d/
COPY deploy_conf/pip.conf /root/.pip/pip.conf
# 复制配置文件

RUN pip3 install https://codeload.github.com/sshwsfc/xadmin/zip/django2
COPY requirements.txt /django/dapi/
RUN pip3 install -r /django/dapi/requirements.txt
# 安装Python依赖库

COPY . /django/dapi/
RUN sed -i '35,36d' /usr/local/lib/python3.6/dist-packages/django/db/backends/mysql/base.py &&
sed -i '145,146d' /usr/local/lib/python3.6/dist-packages/django/db/backends/mysql/operations.py &&
sed -i '93d' /usr/local/lib/python3.6/dist-packages/django/forms/boundfield.py
# 复制其余代码并修改Django源码

EXPOSE 80
# 暴露80端口

CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisor-app.conf"]
# 启动supervisor并加载配置文件

二、打包:

docker build -t dapi .

等待一会儿

网速慢的话十分钟吧

三、运行:

docker run -d --name dapi1.0 -p 80:80 dapi:latest

# 启动容器并在后台运行,暴露80端口,并取个别名为dapi1.0

docker inspect dapi1.0

# 查看容器IP地址

docker exec -it dapi1.0 /bin/bash

# 进入容器内部

supervisord -c /etc/supervisor/conf.d/supervisor-app.conf

# 手动启动supervisor

访问(宿主机的IP地址):

http://192.168.1.102/

账号:admin

密码:test123456

后台:

http://192.168.1.102/admin/

账号:admin

密码:test123456

原文地址:https://www.cnblogs.com/yjlch1016/p/12355446.html