@@ -3,6 +3,5 @@ dockerdata
|
|||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
Dockerfile.server
|
Dockerfile.server
|
||||||
README.md
|
README.md
|
||||||
requirements.txt
|
|
||||||
!dockerdata/config.py
|
!dockerdata/config.py
|
||||||
!dockerdata/start.sh
|
!dockerdata/start.sh
|
||||||
|
|||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
FROM python:3.7-alpine
|
||||||
|
|
||||||
|
COPY . /app/
|
||||||
|
|
||||||
|
WORKDIR /app/
|
||||||
|
|
||||||
|
ENV TIME_ZONE Asia/Shanghai
|
||||||
|
ENV PIPURL "https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.douban.com"
|
||||||
|
|
||||||
|
RUN apk update \
|
||||||
|
&& apk add --virtual mysqlclient-build gcc python3-dev musl-dev \
|
||||||
|
&& apk add --no-cache mariadb-dev \
|
||||||
|
&& apk add --virtual system-build linux-headers libffi-dev \
|
||||||
|
&& apk add --no-cache jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
|
||||||
|
&& apk add --no-cache bash bash-doc bash-completion \
|
||||||
|
&& apk add --no-cache libxslt-dev tzdata g++
|
||||||
|
RUN echo "${TIME_ZONE}" > /etc/timezone \
|
||||||
|
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime
|
||||||
|
RUN pip --no-cache-dir install -i ${PIPURL} --upgrade pip \
|
||||||
|
&& pip --no-cache-dir install -i ${PIPURL} -r requirements.txt \
|
||||||
|
&& pip --no-cache-dir install -i ${PIPURL} gunicorn
|
||||||
|
RUN apk add mysql-client
|
||||||
|
RUN chmod +x start.sh
|
||||||
|
RUN sed -i 's/MYSQL_HOST = "127.0.0.1"/MYSQL_HOST = "mysql"/' applications/config.py
|
||||||
|
RUN sed -i 's/REDIS_HOST = "127.0.0.1"/REDIS_HOST = "redis"/' applications/config.py
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
||||||
|
CMD /bin/sh
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
FROM pearadminflask/python3.7-flask:pillow
|
|
||||||
|
|
||||||
COPY . /app/
|
|
||||||
COPY dockerdata/config.py /app/applications/
|
|
||||||
COPY dockerdata/start.sh /app
|
|
||||||
|
|
||||||
WORKDIR /app/
|
|
||||||
|
|
||||||
ENV TIME_ZONE Asia/Shanghai
|
|
||||||
|
|
||||||
RUN echo "${TIME_ZONE}" > /etc/timezone \
|
|
||||||
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \
|
|
||||||
&& chmod +x /app/start.sh
|
|
||||||
|
|
||||||
CMD ./start.sh
|
|
||||||
@@ -164,19 +164,26 @@ curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compos
|
|||||||
chmod +x /usr/local/bin/docker-compose
|
chmod +x /usr/local/bin/docker-compose
|
||||||
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||||
|
|
||||||
chmod -R 777 dockerdata/mysql/
|
#运行如下命令,有输入版本,表示docker-compose 可以用了
|
||||||
docker-compose --version
|
docker-compose --version
|
||||||
docker-compose up -d # -d后台运行
|
|
||||||
docker-compose stop # 停止启动
|
#在当前目录执行如下命令即可以运行app
|
||||||
docker-compose down # 清除容器
|
docker-compose -f dockercompose.yaml up
|
||||||
|
|
||||||
|
#看到如下表示运行成功,由于pip下载慢,需要一些时间,请耐心等待;如果安装失败,重新执行上面的命令即可。
|
||||||
|
|
||||||
|
#运行后在浏览器访问127.0.0.1:5000
|
||||||
|
|
||||||
|
#如果要停止容器运行,在当前文件夹执行如下命令:
|
||||||
|
docker-compose -f dockercompose.yaml dwon
|
||||||
|
|
||||||
|
|
||||||
dockerdata/config.py # 配置文件
|
|
||||||
dockerdata/mysql/initdb/ # MySQL初始化数据在
|
|
||||||
rm -rf dockerdata/mysql/data/* # down掉容器后启动需要清除删除data
|
|
||||||
dockerdata/restart_mysql_data.sh #重置dokcer数据库
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Pear Admin Flask 还有以下几个版本:
|
#### Pear Admin Flask 还有以下几个版本:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
**[mini 分支版本](https://gitee.com/pear-admin/pear-admin-flask/tree/mini/)**
|
**[mini 分支版本](https://gitee.com/pear-admin/pear-admin-flask/tree/mini/)**
|
||||||
|
|
||||||
@@ -198,3 +205,5 @@ main 分支是对 mini 分支的后续,目前还在开发中。
|
|||||||
|  |  |
|
|  |  |
|
||||||
|  |  |
|
|  |  |
|
||||||
|  |  |
|
|  |  |
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
ports:
|
||||||
|
- "63799:6379"
|
||||||
|
mysql:
|
||||||
|
image: mysql
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: 123456
|
||||||
|
LANG: C.UTF-8
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
MYSQL_CHARSET: utf8mb4
|
||||||
|
MYSQL_COLLATION: utf8mb4_unicode_ci
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
flask:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- mysql
|
||||||
|
restart: always
|
||||||
|
command: sh -c "./start.sh"
|
||||||
@@ -8,6 +8,8 @@ WORKDIR /app/
|
|||||||
|
|
||||||
ENV TIME_ZONE Asia/Shanghai
|
ENV TIME_ZONE Asia/Shanghai
|
||||||
|
|
||||||
RUN chmod +x /app/start.sh
|
RUN echo "${TIME_ZONE}" > /etc/timezone \
|
||||||
|
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \
|
||||||
|
&& chmod +x /app/start.sh
|
||||||
|
|
||||||
CMD ./start.sh
|
CMD ./start.sh
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Wait for MySQL container to be ready
|
||||||
|
echo "Waiting for MySQL container to start..."
|
||||||
|
until mysql -h mysql -uroot -p123456 -e ";" 2>/dev/null; do
|
||||||
|
echo "MySQL container not ready, sleeping for 5 seconds..."
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
echo "MySQL container started successfully!"
|
||||||
|
|
||||||
|
# to start create the dababase
|
||||||
|
echo " start to create the databse... "
|
||||||
|
mysql -uroot -p123456 -hmysql -e 'CREATE DATABASE PearAdminFlask DEFAULT CHARSET UTF8;'
|
||||||
|
|
||||||
|
|
||||||
|
# Initialize Flask database
|
||||||
|
echo "Initializing Flask database..."
|
||||||
|
flask db init
|
||||||
|
flask db migrate
|
||||||
|
flask db upgrade
|
||||||
|
flask admin init
|
||||||
|
|
||||||
|
# Start Flask application
|
||||||
|
echo "Starting Flask application..."
|
||||||
|
python3 app.py
|
||||||
|
|
||||||
Reference in New Issue
Block a user