owen-carter 6 роки тому
батько
коміт
eeaa15c847
4 змінених файлів з 28 додано та 15 видалено
  1. 0 3
      Dockerfile
  2. 2 2
      docker-compose.pro.yml
  3. 25 9
      docker-compose.yml
  4. 1 1
      walle/config/settings_prod.py

+ 0 - 3
Dockerfile

@@ -4,12 +4,9 @@ WORKDIR /usr/app/
 
 COPY ./requirements/prod.txt .
 RUN pip install futures
-RUN mkdir logs
 
 RUN pip install -r prod.txt -i https://mirrors.aliyun.com/pypi/simple
 
-ENV FLASK_APP waller.py
 COPY . .
-RUN flask db upgrade
 
 CMD python waller.py

+ 2 - 2
docker-compose.pro.yml

@@ -13,7 +13,7 @@ services:
       MYSQL_ROOT_PASSWORD: walle
       MYSQL_DATABASE: walle
     volumes:
-      - ${HOME}/.walle/mysql:/var/lib/mysql
+      - /data/walle/mysql:/var/lib/mysql
     networks:
       - walle-net
     restart: always
@@ -21,7 +21,7 @@ services:
   adminer:
     image: adminer
     ports:
-      - 8080:8080
+      - 8888:8080
     networks:
       - walle-net
     restart: always

+ 25 - 9
docker-compose.yml

@@ -1,38 +1,54 @@
-version: "3.6"
+version: "3.7"
 
 services:
 
-  mysql:
-    image: mysql:5.7
+  db:
+    image: mysql
     ports:
       - 0.0.0.0:3306:3306
     expose:
       - 3306
+    command: --default-authentication-plugin=mysql_native_password
     environment:
       MYSQL_ROOT_PASSWORD: walle
       MYSQL_DATABASE: walle
     volumes:
-      - ${HOME}/.walle/mysql:/var/lib/mysql
+      - /data/walle/mysql:/var/lib/mysql
+    networks:
+      - walle-net
+    restart: always
+
+  adminer:
+    image: adminer
+    ports:
+      - 8888:8080
+    networks:
+      - walle-net
     restart: always
 
   web:
     build: ./
-    links:
-      - mysql
+    depends_on:
+      - db
     expose:
       - 5000
     environment:
       - WALLE_SECRET="guess me out"
+    networks:
+      - walle-net
     restart: always
 
+
   gateway:
     image: nginx
-    links:
-      - mysql
-      - web
     ports:
       - 0.0.0.0:80:80
     volumes:
       - ./fe/:/data/web/:ro
       - ./gateway/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
+    networks:
+      walle-net:
     restart: always
+
+networks:
+  walle-net: ~

+ 1 - 1
walle/config/settings_prod.py

@@ -30,7 +30,7 @@ class ProdConfig(Config):
     CACHE_TYPE = 'simple'
 
     # 数据库设置 @TODO
-    SQLALCHEMY_DATABASE_URI = 'mysql://user:password@localhost:3306/walle_python'
+    SQLALCHEMY_DATABASE_URI = 'mysql://root:walle@db:3306/walle'
 
     # 设置session的保存时间。
     PERMANENT_SESSION_LIFETIME = timedelta(days=1)