DataEase v2.10.22 修改为 host 网络模式操作步骤


飞致云 发布于 2026-05-11 / 3 阅读 / 0 评论 /
适用场景:DataEase v2.10.22 企业版离线安装包,其他版本默认 Docker bridge 网络模式改为 host 网络模式。 说明:本文档基于 DataEase v2.10.22 企业版离线安装包整理。其他 DataEase 版本的 compose 文件名称、服务名称、镜像版本或部分

适用场景:DataEase v2.10.22 企业版离线安装包,其他版本默认 Docker bridge 网络模式改为 host 网络模式。

说明:本文档基于 DataEase v2.10.22 企业版离线安装包整理。其他 DataEase 版本的 compose 文件名称、服务名称、镜像版本或部分配置路径可能略有差异,但整体修改思路一致:将服务改为 network_mode: host,移除端口映射和自定义 Docker 网络,并把容器名访问地址改为 127.0.0.1 或宿主机实际地址。
注意:可以使用 host 模式部署 DataEase,但以下端口不能被宿主机上的其他服务占用:9080810090009001237923803000330633060

1. 进入运行目录

cd /opt/dataease2.0

2. 停止 DataEase

dectl stop

3. 修改 docker-compose 文件

DataEase 企业版会组合加载多个 compose 文件:

docker-compose.yml
docker-compose-mysql.yml
docker-compose-apisix.yml
docker-compose-task.yml
docker-compose-playwright.yml

host 网络模式的通用原则:

  • 每个服务都增加 network_mode: host

  • 每个服务都删除或注释 ports

  • 每个服务都删除或注释 networks

  • 文件底部的 networks: dataease-network: 也删除或注释

3.1 修改 docker-compose.yml

编辑:

vi /opt/dataease2.0/docker-compose.yml

这个文件里主要是 dataease 服务。

重点:

  • 增加 network_mode: host

  • 删除 ports

  • 删除服务里的 networks

  • 删除文件底部的 networks

原始结构类似:

services:
​
  dataease:
    image: registry.cn-qingdao.aliyuncs.com/dataease/dataease:v2.10.22
    stop_signal: SIGTERM
    stop_grace_period: 15s
    container_name: dataease
    ports:
      - ${DE_PORT}:8100
    volumes:
      - ${DE_BASE}/dataease2.0/conf:/opt/apps/config
      - ${DE_BASE}/dataease2.0/logs:/opt/dataease2.0/logs
    depends_on:
      mysql-de:
        condition: service_healthy
    networks:
      - dataease-network
​
networks:
  dataease-network:

修改后:

services:
​
  dataease:
    image: registry.cn-qingdao.aliyuncs.com/dataease/dataease:v2.10.22
    stop_signal: SIGTERM
    stop_grace_period: 15s
    container_name: dataease
    network_mode: host
    volumes:
      - ${DE_BASE}/dataease2.0/conf:/opt/apps/config
      - ${DE_BASE}/dataease2.0/logs:/opt/dataease2.0/logs
    depends_on:
      mysql-de:
        condition: service_healthy

3.2 修改 docker-compose-mysql.yml

编辑:

vi /opt/dataease2.0/docker-compose-mysql.yml

这个文件里主要是 mysql-de 服务。

重点:

  • 增加 network_mode: host

  • 建议把 container_name: ${DE_MYSQL_HOST} 改成 container_name: mysql-de

  • 删除服务里的 networks

如果 .envDE_MYSQL_HOST=127.0.0.1,并且这里继续使用 container_name: ${DE_MYSQL_HOST},MySQL 容器名会变成 127.0.0.1,不推荐。

原始结构类似:

services:
​
  mysql-de:
    image: registry.cn-qingdao.aliyuncs.com/dataease/mysql:8.4.5
    container_name: ${DE_MYSQL_HOST}
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-u${DE_MYSQL_USER}", "-p${DE_MYSQL_PASSWORD}", "--protocol","tcp"]
      interval: 5s
      timeout: 3s
      retries: 10
    env_file:
      - ${DE_BASE}/dataease2.0/conf/mysql.env
    volumes:
      - ${DE_BASE}/dataease2.0/conf/my.cnf:/etc/mysql/conf.d/my.cnf
      - ${DE_BASE}/dataease2.0/bin/mysql:/docker-entrypoint-initdb.d/
      - ${DE_BASE}/dataease2.0/data/mysql:/var/lib/mysql
    networks:
      - dataease-network

修改后:

services:
​
  mysql-de:
    image: registry.cn-qingdao.aliyuncs.com/dataease/mysql:8.4.5
    container_name: mysql-de
    network_mode: host
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-u${DE_MYSQL_USER}", "-p${DE_MYSQL_PASSWORD}", "--protocol","tcp"]
      interval: 5s
      timeout: 3s
      retries: 10
    env_file:
      - ${DE_BASE}/dataease2.0/conf/mysql.env
    volumes:
      - ${DE_BASE}/dataease2.0/conf/my.cnf:/etc/mysql/conf.d/my.cnf
      - ${DE_BASE}/dataease2.0/bin/mysql:/docker-entrypoint-initdb.d/
      - ${DE_BASE}/dataease2.0/data/mysql:/var/lib/mysql

3.3 修改 docker-compose-apisix.yml

编辑:

vi /opt/dataease2.0/docker-compose-apisix.yml

这个文件里有三个服务,都要改:

apisix-dashboard
apisix
etcd

重点:

  • 三个服务都增加 network_mode: host

  • 删除 apisix-dashboardports

  • 删除 apisixports

  • 删除三个服务里的 networks

  • 建议把 ETCD_ADVERTISE_CLIENT_URLS 改成 http://127.0.0.1:2379

apisix-dashboard

原始结构类似:

  apisix-dashboard:
    image: registry.cn-qingdao.aliyuncs.com/dataease/apisix-dashboard:3.0.1-alpine
    container_name: apisix-dashboard
    restart: always
    volumes:
    - ${DE_BASE}/dataease2.0/apisix/dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
    ports:
    - ${DE_APISIX_DASHBOARD_PORT}:9000
    networks:
      dataease-network:

修改后:

  apisix-dashboard:
    image: registry.cn-qingdao.aliyuncs.com/dataease/apisix-dashboard:3.0.1-alpine
    container_name: apisix-dashboard
    restart: always
    network_mode: host
    volumes:
    - ${DE_BASE}/dataease2.0/apisix/dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml

apisix

原始结构类似:

  apisix:
    image: registry.cn-qingdao.aliyuncs.com/dataease/apisix:3.14.1-debian
    container_name: apisix
    environment:
      - TZ=Asia/Shanghai
    restart: always
    volumes:
      - ${DE_BASE}/dataease2.0/apisix/apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
      - ${DE_BASE}/dataease2.0/apisix/logs:/usr/local/apisix/logs
    depends_on:
      - etcd
    ports:
      - ${DE_APISIX_PORT}:9080
    networks:
      dataease-network:

修改后:

  apisix:
    image: registry.cn-qingdao.aliyuncs.com/dataease/apisix:3.14.1-debian
    container_name: apisix
    environment:
      - TZ=Asia/Shanghai
    restart: always
    network_mode: host
    volumes:
      - ${DE_BASE}/dataease2.0/apisix/apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
      - ${DE_BASE}/dataease2.0/apisix/logs:/usr/local/apisix/logs
    depends_on:
      - etcd

etcd

原始结构类似:

  etcd:
    image: registry.cn-qingdao.aliyuncs.com/dataease/etcd:3.5.10
    container_name: apisix-etcd
    restart: always
    volumes:
      - ${DE_BASE}/dataease2.0/data/etcd_data:/bitnami/etcd
    environment:
      ETCD_ENABLE_V2: "true"
      ALLOW_NONE_AUTHENTICATION: "yes"
      ETCD_ADVERTISE_CLIENT_URLS: "http://apisix-etcd:2379"
    networks:
      dataease-network:

修改后:

  etcd:
    image: registry.cn-qingdao.aliyuncs.com/dataease/etcd:3.5.10
    container_name: apisix-etcd
    restart: always
    network_mode: host
    volumes:
      - ${DE_BASE}/dataease2.0/data/etcd_data:/bitnami/etcd
    environment:
      ETCD_ENABLE_V2: "true"
      ALLOW_NONE_AUTHENTICATION: "yes"
      ETCD_ADVERTISE_CLIENT_URLS: "http://127.0.0.1:2379"

3.4 修改 docker-compose-task.yml

编辑:

vi /opt/dataease2.0/docker-compose-task.yml

这个文件里主要是 task-actuator 服务。

重点:

  • 增加 network_mode: host

  • 删除服务里的 networks

原始结构类似:

services:
  task-actuator:
    image: registry.cn-qingdao.aliyuncs.com/dataease/dataease-sync-task:v2.10.22
    container_name: sync-task-actuator
    volumes:
      - ${DE_BASE}/dataease2.0/logs:/opt/dataease2.0/logs
    networks:
      - dataease-network

修改后:

services:
  task-actuator:
    image: registry.cn-qingdao.aliyuncs.com/dataease/dataease-sync-task:v2.10.22
    container_name: sync-task-actuator
    network_mode: host
    volumes:
      - ${DE_BASE}/dataease2.0/logs:/opt/dataease2.0/logs

3.5 修改 docker-compose-playwright.yml

编辑:

vi /opt/dataease2.0/docker-compose-playwright.yml

这个文件里主要是 api 服务,也就是 de-playwright-api 容器。

重点:

  • 增加 network_mode: host

  • 保留原来的 ipc: host

  • 删除服务里的 networks

原始结构类似:

services:
  api:
    image: registry.cn-qingdao.aliyuncs.com/dataease/de-playwright-api:v1.58.2-noble-0421
    container_name: de-playwright-api
    privileged: true
    environment:
      - CONCURRENCY=${DE_PLAYWRIGHT_CONCURRENCY}
      - TZ=Asia/Shanghai
    volumes:
      - ${DE_BASE}/dataease2.0/logs:/opt/app/logs
    restart: unless-stopped
    init: true
    ipc: host
    shm_size: ${DE_PLAYWRIGHT_SHM_SIZE}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s
    networks:
      - dataease-network

修改后:

services:
  api:
    image: registry.cn-qingdao.aliyuncs.com/dataease/de-playwright-api:v1.58.2-noble-0421
    container_name: de-playwright-api
    privileged: true
    network_mode: host
    environment:
      - CONCURRENCY=${DE_PLAYWRIGHT_CONCURRENCY}
      - TZ=Asia/Shanghai
    volumes:
      - ${DE_BASE}/dataease2.0/logs:/opt/app/logs
    restart: unless-stopped
    init: true
    ipc: host
    shm_size: ${DE_PLAYWRIGHT_SHM_SIZE}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s

4. 修改 DataEase 应用配置

编辑:

vi /opt/dataease2.0/conf/application.yml

4.1 修改数据库连接

将数据库连接改成完整地址,不要保留 ${DE_MYSQL_DB}${DE_MYSQL_PARAMS} 这类变量。

正确示例:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/dataease?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: Password123@mysql

4.2 修改 APISIX API 地址

将:

dataease:
  apisix-api:
    domain: http://apisix:9180

改成:

dataease:
  apisix-api:
    domain: http://127.0.0.1:9180

4.3 修改 Playwright 地址

将:

playwright-server: http://de-playwright-api:3000/screenshot

改成:

playwright-server: http://127.0.0.1:3000/screenshot

4.4 修改同步任务地址

将:

task:
  executor:
    address: http://sync-task-actuator:9001

改成:

task:
  executor:
    address: http://127.0.0.1:9001

5. 修改 APISIX 配置

编辑:

vi /opt/dataease2.0/apisix/apisix_conf/config.yaml

将:

deployment:
  etcd:
    host:
      - "http://apisix-etcd:2379"

改成:

deployment:
  etcd:
    host:
      - "http://127.0.0.1:2379"

6. 修改 APISIX Dashboard 配置

编辑:

vi /opt/dataease2.0/apisix/dashboard_conf/conf.yaml

将:

conf:
  etcd:
    endpoints:
      - "http://apisix-etcd:2379"

改成:

conf:
  etcd:
    endpoints:
      - "http://127.0.0.1:2379"

7. 启动服务

dectl start

查看状态:

dectl status

或者:

docker ps -a

正常情况下应看到:

dataease             Up ... (healthy)
mysql-de             Up ... (healthy)
sync-task-actuator   Up ... (healthy)
de-playwright-api    Up ... (healthy)
apisix               Up ...
apisix-etcd          Up ...
apisix-dashboard     Up ...

8. 登录 DataEase

企业版默认入口优先访问 APISIX 端口:

http://服务器IP:9080

如果访问不了,可再试 DataEase 主服务端口:

http://服务器IP:8100

默认账号:

用户名:admin
密码:DataEase@123456



是否对你有帮助?