diff --git a/docker_env/README.md b/docker_env/README.md deleted file mode 100644 index f281ab5..0000000 --- a/docker_env/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# docker 镜像打包 - -### 打包web基础Build包 - -~~~sh -# 编译打包到本地 -docker build -f ./docker_env/web/DockerfileBuild -t registry.cn-zhangjiakou.aliyuncs.com/dvadmin-pro/dvadmin3-base-web:16.19-alpine . -# 上传到阿里云仓库 -docker push registry.cn-zhangjiakou.aliyuncs.com/dvadmin-pro/dvadmin3-base-web:16.19-alpine - -~~~ - -### 打包Backend基础Build包 - -~~~sh -# 编译打包到本地 -docker build -f ./docker_env/django/DockerfileBuild -t registry.cn-zhangjiakou.aliyuncs.com/dvadmin-pro/dvadmin3-base-backend:latest . -# 上传到阿里云仓库 -docker push registry.cn-zhangjiakou.aliyuncs.com/dvadmin-pro/dvadmin3-base-backend:latest -~~~ - -### 运行前端 - -~~~ -docker build -f ./docker_env/web/Dockerfile -t dvadmin-pro-web . -~~~ - -### 运行后端 - -~~~ -docker build -f ./docker_env/django/Dockerfile -t dvadmin-pro-django . -~~~ - -### 运行celery - -~~~ -docker build -f ./docker_env/celery/Dockerfile -t dvadmin-pro-celery . -~~~ - -## docker-compose 运行 - -~~~ -# 先安装docker-compose (自行百度安装),执行此命令等待安装,如有使用celery插件请打开docker-compose.yml中celery 部分注释 -docker-compose up -d -# 初始化后端数据(第一次执行即可) -docker exec -ti dvadmin-django bash -python manage.py makemigrations -python manage.py migrate -python manage.py init -y -exit - -前端地址:http://127.0.0.1:8080 -后端地址:http://127.0.0.1:8000 -# 在服务器上请把127.0.0.1 换成自己公网ip -账号:superadmin 密码:admin123456 - -# docker-compose 停止 -docker-compose down -# docker-compose 重启 -docker-compose restart -# docker-compose 启动时重新进行 build -docker-compose up -d --build - -~~~ - diff --git a/docker_env/celery/Dockerfile b/docker_env/celery/Dockerfile deleted file mode 100644 index 7d57c7a..0000000 --- a/docker_env/celery/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM registry.cn-zhangjiakou.aliyuncs.com/dvadmin-pro/dvadmin3-base-backend:latest -WORKDIR /backend -COPY ./backend/ . -RUN awk 'BEGIN { cmd="cp -i ./conf/env.example.py ./conf/env.py "; print "n" |cmd; }' -RUN python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt -CMD ["celery", "-A", "application", "worker", "-B", "--loglevel=info"] - diff --git a/docker_env/django/Dockerfile b/docker_env/django/Dockerfile deleted file mode 100644 index dfa74e7..0000000 --- a/docker_env/django/Dockerfile +++ /dev/null @@ -1,42 +0,0 @@ -# 第一阶段:构建 -FROM docker.1ms.run/python:3.10-slim as builder - -WORKDIR /backend - -# 安装系统依赖(合并为一个RUN减少层数) -RUN apt-get update && apt-get install -y \ - bash git curl gnupg ca-certificates \ - libjpeg-dev libmariadb-dev-compat default-libmysqlclient-dev \ - build-essential libffi-dev libssl-dev zlib1g-dev libbz2-dev \ - libpcre2-dev libncurses5-dev libreadline-dev tk-dev libpq-dev unixodbc-dev \ - && rm -rf /var/lib/apt/lists/* \ - && curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/microsoft.gpg \ - && echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-focal-prod focal main" > /etc/apt/sources.list.d/mssql-release.list \ - && apt-get update \ - && ACCEPT_EULA=Y apt-get install -y msodbcsql17 \ - && rm -rf /var/lib/apt/lists/* - -# 先复制依赖文件,利用缓存 -COPY ./backend/requirements.txt . - -# 安装 Python 依赖(带缓存加速) -RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt - -# 复制剩余代码 -COPY ./backend/ . - -# 配置 -RUN ls ./conf/ \ - && awk 'BEGIN { cmd="cp -i ./conf/env.example.py ./conf/env.py "; print "n" |cmd; }' \ - && sed -i "s|DATABASE_HOST = '127.0.0.1'|DATABASE_HOST = '177.10.0.1'|g" ./conf/env.py \ - && sed -i "s|REDIS_HOST = '127.0.0.1'|REDIS_HOST = '177.10.0.1'|g" ./conf/env.py - -# 第二阶段:运行时镜像 -FROM docker.1ms.run/python:3.10-slim - -COPY --from=builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages -COPY --from=builder /usr/local/bin /usr/local/bin -COPY --from=builder /backend /backend - -WORKDIR /backend -CMD ["sh","docker_start.sh"] diff --git a/docker_env/django/DockerfileBuild b/docker_env/django/DockerfileBuild deleted file mode 100644 index 53e5049..0000000 --- a/docker_env/django/DockerfileBuild +++ /dev/null @@ -1,6 +0,0 @@ -FROM python:3.10-alpine -RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories -RUN apk update && apk add bash bash-doc bash-completion git freetds-dev jpeg-dev linux-headers mysql-client mariadb-dev build-base libffi-dev openssl-dev zlib-dev bzip2-dev pcre-dev ncurses-dev readline-dev tk-dev postgresql-dev -WORKDIR /backend -COPY ./backend/requirements.txt . -RUN python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt diff --git a/docker_env/mysql/conf.d/my.cnf b/docker_env/mysql/conf.d/my.cnf deleted file mode 100644 index 469af8b..0000000 --- a/docker_env/mysql/conf.d/my.cnf +++ /dev/null @@ -1,33 +0,0 @@ -[mysql] -#设置mysql客户端默认字符集 -default-character-set=utf8 -socket=/var/lib/mysql/mysql.sock - - -[mysqld] -# skip-grant-tables -#mysql5.7以后的不兼容问题处理 -sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES -datadir=/var/lib/mysql -socket=/var/lib/mysql/mysql.sock - -# Disabling symbolic-links is recommended to prevent assorted security risks -symbolic-links=0 -# Settings user and group are ignored when systemd is used. -# If you need to run mysqld under a different user or group, -# customize your systemd unit file for mariadb according to the -# instructions in http://fedoraproject.org/wiki/Systemdd -#允许最大连接数 -max_connections=1000 -#服务端使用的字符集默认为8比特编码的latin1字符集 -character-set-server=utf8 -#创建新表时将使用的默认存储引擎 -default-storage-engine=INNODB -lower_case_table_names=1 -max_allowed_packet=16M -#设置时区 -default-time_zone='+8:00' - -[mysqld_safe] -log-error=/var/log/mariadb/mariadb.log -pid-file=/var/lib/mariadb/mariadb.pid diff --git a/docker_env/mysql/launch.sh b/docker_env/mysql/launch.sh deleted file mode 100644 index 31b3687..0000000 --- a/docker_env/mysql/launch.sh +++ /dev/null @@ -1,5 +0,0 @@ -cur_path=`pwd` -docker rm mysql -# docker pull mysql:5.7 -# docker pull mysql:5.5 -docker run -p 3306:3306 --privileged=true --name mysql -v $cur_path/logs:/logs -v $cur_path/data:/var/lib/mysql -v $cur_path/conf.d/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v $cur_path/run/:/var/run/mysql -e MYSQL_ROOT_PASSWORD=q1w2e3r4 -d mysql:5.7 diff --git a/docker_env/nginx/my-80.conf b/docker_env/nginx/my-80.conf deleted file mode 100644 index b69923a..0000000 --- a/docker_env/nginx/my-80.conf +++ /dev/null @@ -1,33 +0,0 @@ -server { - listen 80; - server_name localhost; - client_max_body_size 100M; - # 配置前端静态文件目录 - location / { - index index.html index.htm; - root /usr/share/nginx/html; - try_files $uri $uri/ /index.html; - # 禁止缓存html文件,避免前端页面不及时更新,需要用户手动刷新的情况 - if ($request_uri ~* "^/$|^/index.html|^/index.htm") { - add_header Cache-Control "no-store"; - } - } - - location ~ ^/api/ { - proxy_http_version 1.1; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Nginx-Proxy true; - set_real_ip_from 0.0.0.0/0; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_connect_timeout 600s; - proxy_read_timeout 600s; - proxy_send_timeout 600s; - real_ip_header X-Forwarded-For; - # 保留 /api/ 前缀,让后端 application.urls.py 的 path("api/...") 正常命中 - proxy_pass http://177.10.0.12:8000; # 设置代理服务器的协议和地址 - } - } diff --git a/docker_env/nginx/my.conf b/docker_env/nginx/my.conf deleted file mode 100644 index 9b34d68..0000000 --- a/docker_env/nginx/my.conf +++ /dev/null @@ -1,54 +0,0 @@ -server { - listen 8080; - server_name localhost; - client_max_body_size 100M; - location / { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto https; - set_real_ip_from 0.0.0.0/0; - real_ip_header X-Forwarded-For; - root /usr/share/nginx/html; - index index.html index.php index.htm; - # 禁止缓存html文件,避免前端页面不及时更新,需要用户手动刷新的情况 - if ($request_uri ~* "^/$|^/index.html|^/index.htm") { - add_header Cache-Control "no-store"; - } - } - - location /api/ { - proxy_http_version 1.1; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Nginx-Proxy true; - set_real_ip_from 0.0.0.0/0; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_connect_timeout 600s; - proxy_read_timeout 600s; - proxy_send_timeout 600s; - real_ip_header X-Forwarded-For; - proxy_pass http://dvadmin3-django:8000; # 反向代理到后端(保留 /api/ 前缀) - } - location /media { - alias /backend/media; - expires 7d; - gzip on; - gzip_min_length 1k; - gzip_comp_level 2; - gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; - gzip_vary on; - } - location /api/media { - alias /backend/media; - expires 7d; - gzip on; - gzip_min_length 1k; - gzip_comp_level 2; - gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; - gzip_vary on; - } - } diff --git a/docker_env/redis/redis.conf b/docker_env/redis/redis.conf deleted file mode 100644 index 7995fd4..0000000 --- a/docker_env/redis/redis.conf +++ /dev/null @@ -1,24 +0,0 @@ -### 指定redis绑定的主机地址,注释掉这部分,使redis可以外部访问 -# bind 127.0.0.1 -::1 -### 指定访问redis服务端的端口 -port 6379 -### 指定客户端连接redis服务器时,当闲置的时间为多少(如300)秒时关闭连接(0表示禁用) -timeout 0 -### 默认情况下,Redis不作为守护进程运行。如果需要,请使用“yes” -daemonize no -### 给redis设置密码,不需要密码的话则注释 -# requirepass dvadmin -### 开启redis持久化,默认为no -appendonly yes -### 防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300 -tcp-keepalive 300 -### 指定redis数据库的日志级别,常用的日志级别有debug、verbose、notice、warning,不进行修改的情况下默认的是notice -loglevel notice -### 指定redis数据库多长时间内(s)有多少次(c)更新操作时就把缓存中的数据同步到本地库,比如:save 600 2,指的是10分钟内有2次更新操作,就同步到本地库 -save 600 2 -### 指定redis的最大内存。由于Redis 在启动时会把数据加载到内存中,当数据达到最大内存时,redis会自动把已经到期和即将到期的key值。所以可以根据需求调整自己的所需的最大内存 -maxmemory 500mb -### 设置了maxmemory的选项,redis内存使用达到上限。可以通过设置LRU算法来删除部分key,释放空间。默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory -maxmemory-policy volatile-lru -### 设置外部网络连接redis服务,开启需配置bind ip或者设置访问密码,关闭此时外部网络可以直接访问 -# protected-mode yes diff --git a/docker_env/web/Dockerfile b/docker_env/web/Dockerfile deleted file mode 100644 index 16a6dcc..0000000 --- a/docker_env/web/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -# 第一阶段:构建 -FROM docker.1ms.run/node:20-alpine as builder - -WORKDIR /web - -# 先复制 package.json 和 yarn.lock -COPY web/package.json web/yarn.lock* ./ - -# 安装依赖(利用缓存) -RUN yarn install --registry=https://registry.npmmirror.com - -# 复制源代码 -COPY web/ . - -# 构建 -RUN yarn build - -# 第二阶段:Nginx 运行时 -FROM docker.1ms.run/nginx:alpine - -COPY ./docker_env/nginx/my.conf /etc/nginx/conf.d/my.conf -COPY --from=builder /web/dist /usr/share/nginx/html diff --git a/docker_env/web/DockerfileBuild b/docker_env/web/DockerfileBuild deleted file mode 100644 index 1f725ca..0000000 --- a/docker_env/web/DockerfileBuild +++ /dev/null @@ -1,4 +0,0 @@ -FROM node:16.19-alpine -WORKDIR / -COPY ./web/package.json . -RUN yarn install --registry=https://registry.npmmirror.com