@@ -3,6 +3,5 @@ dockerdata
|
||||
docker-compose.yml
|
||||
Dockerfile.server
|
||||
README.md
|
||||
requirements.txt
|
||||
!dockerdata/config.py
|
||||
!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
|
||||
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||
|
||||
chmod -R 777 dockerdata/mysql/
|
||||
docker-compose --version
|
||||
docker-compose up -d # -d后台运行
|
||||
docker-compose stop # 停止启动
|
||||
docker-compose down # 清除容器
|
||||
#运行如下命令,有输入版本,表示docker-compose 可以用了
|
||||
docker-compose --version
|
||||
|
||||
#在当前目录执行如下命令即可以运行app
|
||||
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/)**
|
||||
|
||||
@@ -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
|
||||
|
||||
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
|
||||
|
||||
@@ -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