Skip to content
本页目录

普通端口占用(8088、7001、9000、9001)

8088或7001端口被占用

8088端口对应的是后台管理系统,7001对应服务端端口。是两个自定义端口,也是比较容易修改的端口。
当8088被占用时,只需要修改/docker/nginx.conf,将端口更改就好。

server {
        listen  8088;
        charset utf-8;
        server_name  localhost;
        root /opt/dist;
        index index.html;
        location / {
           try_files $uri $uri/ /index.html;
        }
   }
   # 将listen改为你需要的端口即可,例如:
   server {
        listen  9999;
        charset utf-8;
        server_name  localhost;
        root /opt/dist;
        index index.html;
        location / {
           try_files $uri $uri/ /index.html;
        }
   }

当7001被占用时,只需要修改服务端配置文件
打开/rightHouse/RH-server/config/config.default.js

javascript
// 将port修改即可
config.cluster = {
  listen: {
    port: 7001
  }
};

当你修改了服务端接口,就需要注意后台管理系统、小程序的接口访问地址配置

9000、9001 端口占用

9000对应minio后台管理页面地址端口,9001对应minio接口访问地址,修改方法为:

yml
# /rightHouse/RH-server/docker/docker-compose.yml
  minio:
    image: minio/minio:RELEASE.2023-05-04T21-44-30Z
    network_mode: "host"
    restart: 'on-failure'
    container_name: right-house-minio
    # 在此处修改端口号,修改下面的9000和9001即可
    command: server /data --console-address :9000 --address :9001
    volumes:
            - '../docker/data/redis/data:/data'
    environment:
                - MINIO_ROOT_USER=right_house_minio
                - MINIO_ROOT_PASSWORD=right_house_minio_980128

当修改9001端口后,需要修改对应服务端配置

特殊端口占用(3306、6379)

3306对应mysql端口,6379对应redis端口
这两个端口一般不会有占用情况,除非已经有mysql、或者redis应用程序启动。

例如本地已经有Mysql数据库

第一种解决方法:使用本地数据库

执行/rightHouse/docker/init-sql/init.sql数据库脚本
修改服务端mysql相关配置
删除/rightHouse/docker/docker-compose.yml关于mysql的配置

yml
# 删除如下
  mysql:
    image: mysql:8.0.33
    command:
            - --default-authentication-plugin=mysql_native_password
    network_mode: "host"
    restart: 'on-failure'
    container_name: right-house-mysql
    expose:
        - "3306"
    volumes:
            - './init-sql:/docker-entrypoint-initdb.d'
           # - '../docker/data/mysql/conf/my.cnf:/etc/my.cnf'
           # - '../docker/data/mysql/log:/var/log/mysql'
            - '/etc/timezone:/etc/timezone:ro'
            - '/etc/localtime:/etc/localtime:ro'
            - '../docker/data/mysql/data:/var/lib/mysql'

    environment:
             - MYSQL_ROOT_PASSWORD=right_house_sql_980128

第二种解决方法:修改容器数据库端口

取消使用host网络模式,单独映射端口

yml
# /rightHouse/docker/docker-compose.yml
  mysql:
    image: mysql:8.0.33
    command:
            - --default-authentication-plugin=mysql_native_password
    # network_mode使用:bridge
    network_mode: "bridge"
    # 添加端口映射 3306:你想要的端口
    ports:
     - "3306:3307"
    restart: 'on-failure'
    container_name: right-house-mysql
    expose:
        - "3306"
    volumes:
            - './init-sql:/docker-entrypoint-initdb.d'
            - '/etc/timezone:/etc/timezone:ro'
            - '/etc/localtime:/etc/localtime:ro'
            - '../docker/data/mysql/data:/var/lib/mysql'

    environment:
             - MYSQL_ROOT_PASSWORD=right_house_sql_980128

修改服务端mysql相关配置

例如本地已经有Redis

第一种解决方法:使用本地Redis

修改服务端Redis相关配置
删除/rightHouse/docker/docker-compose.yml关于Redis的配置

yml
# 删除如下
  redis:
    image: redis:7.0.12
    network_mode: "host"
    restart: 'on-failure'
    container_name: right-house-redis
    volumes:
            - '../docker/data/redis/data:/data'
            - '../docker/data/redis/conf/redis.conf:/etc/redis/redis.conf'
            - '../docker/data/redis/logs:/logs'
    command: redis-server  /etc/redis/redis.conf --requirepass right_house_redis_980128

第二种解决方法:修改容器Redis端口

取消使用host网络模式,单独映射端口

yml
redis:
    image: redis:7.0.12
    # network_mode使用:bridge
    network_mode: "bridge"
    # 添加端口映射 6379:你想要的端口
    ports:
     - "6379:6380"
    restart: 'on-failure'
    container_name: right-house-redis
    volumes:
            - '../docker/data/redis/data:/data'
            - '../docker/data/redis/conf/redis.conf:/etc/redis/redis.conf'
            - '../docker/data/redis/logs:/logs'
    command: redis-server  /etc/redis/redis.conf --requirepass right_house_redis_980128

注意

当修改了yml、DockerFile文件、配置文件,需要重新up时,需要删除所有生成的容器,删除docker-right_house_server、docker-right_house_admin镜像,才能正常生效。