分类: 容器软件运维

基于 IIS + Docker 部署 Walle-Web

背景

乱七八糟的机器太多,部署操作太费劲,于是找了个 star 数最高的代码部署平台 walle-web 打算部署到 htpc 上执行自动化部署操作。部署环境直接基于 docker 了,数据库仍使用本地库。

启动

假设部署服务到 example.com 编辑 docker-compose.xml:

version: '3.7'

services: 
    web:
        image: alenx/walle-web:2.1
        container_name: walle-nginx
        hostname: nginx-web
        ports:
          - "8085:80"
        depends_on:
          - python
        networks:
          - walle-net
        restart: always

    python:
        image: alenx/walle-python:2.1
        container_name: walle-python
        hostname: walle-python
        env_file:
          # walle.env需和docker-compose在同级目录
          - ./walle.env
        command: bash -c "cd /opt/walle_home/ && /bin/bash admin.sh migration &&  python waller.py"
        expose:
          - "5000"
        volumes:
          - d:/Docker/walle/plugins/:/opt/walle_home/plugins/
          - d:/Docker/walle/codebase/:/opt/walle_home/codebase/
          - d:/Docker/walle/logs/:/opt/walle_home/logs/
        networks:
          - walle-net
        restart: always
        extra_hosts:
          - "example.com:0.0.0.0"

networks:
    walle-net:
        driver: bridge

新建 walle.env 存储数据库信息,和 docker-compose.xml 放在同级目录:

MYSQL_USER=xxx
MYSQL_PASSWORD=xxx
MYSQL_DATABASE=walle
MYSQL_HOST=192.168.x.x
MYSQL_PORT=3306

至此直接运行 docker-compse up -d 即启动了,然后就是添加域名映射

IIS 配置

添加站点那些就不说了,只说一个注意事项,打开 IIS 管理器 => 配置编辑器 => system.webServer/proxy => xForwardedForHeaderName 编辑为 X-Real-IP 后即可。

如果不做这个修改,会出现外网无限登录的问题。

All Done !

其它配置直接参照官网

Recent Posts

Docker 容器非 root 用户监听 80 端口

起因是基于 CentOS 的 …

1 年 之前

基于 Docker 定时打印文件

先说背景,喷墨打印机有个很大的…

2 年 之前

Java 运行时反射获取来自继承的泛型

背景 正常情况下 Java 的…

2 年 之前

Java 基于 ByteBuddy 重写系统当前时间

背景 一般单元测试时总会有些代…

2 年 之前

华硕 B450F-Gaming 主板 I211-AT 网卡驱动安装

事情起因是买了块华硕的 ROG…

3 年 之前

PHP 安装 Memcached 扩展

登录服务器挨步执行: # su…

3 年 之前