Camellia 安装背景 我原本vps上已经安装了一个halo实例 我想在同一台VPS上安装第2个halo实例,与第一个halo实例分别保持独立运行 我在尝试安装第二个实例后出现了502报错,我也检查过我的第二个实例的docker-compose.yml文件 实例名称、数据库、路径、端口等都有分别设置,目前找不到原因特来求助 我第一个实例使用docker-compose方式安装,以下是docker-compose.yml services: halo: image: halohub/halo:2.6.0 container_name: halo restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./:/root/.halo2 ports: - "8090:8090" command: - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo - --spring.r2dbc.username=root # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - --spring.r2dbc.password=@@@@@@ - --spring.sql.init.platform=mysql # 外部访问地址,请根据实际需要修改 - --halo.external-url=https://www.@@@@.com # 初始化的超级管理员用户名 - --halo.security.initializer.superadminusername=@@@@ # 初始化的超级管理员密码 - --halo.security.initializer.superadminpassword=@@@@ halodb: image: mysql:8.0.31 container_name: halodb restart: on-failure:3 networks: halo_network: command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true volumes: - ./mysql:/var/lib/mysql - ./mysqlBackup:/data/mysqlBackup ports: - "3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] interval: 3s retries: 5 start_period: 30s environment: # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - MYSQL_ROOT_PASSWORD=@@@@@@ - MYSQL_DATABASE=halo networks: halo_network: 请各位大佬帮我对照以上docker-compose.yml文件帮我修改出安装第二个实例的compose文件,万分感谢
zyy2477 同一台vps启动两个halo容器我也试过,基本上更改端口映射、容器名、数据库名、数据库用户和数据库密码。其他貌似也不用怎么改。。。但是你如果第二个halo,引用第一个docker compose的halodb的话,比较容易出错的地方是忘记网络隔离。 我觉得的db单独用一个docker compose启动,把3306映射到宿主机上。然后另外两个halo用IP+Port形式连接数据库。基本上就没啥问题了
Camellia zyy2477 端口映射、容器名、数据库名、数据库用户和数据库密码 这些我都操作了 zyy2477 把3306映射到宿主机上。然后另外两个halo用IP+Port形式连接数据库 这一步没必要吧?是在同一台VPS上啊,3306是容器端口,宿主机端口不冲突3306应该不会影响吧?我试试 zyy2477 忘记网络隔离 这一步到是提醒我了,我是不是得修改networks: halo_network:这项的参数?
Camellia zyy2477 谢谢你的方法,有空闲的VPS我也会尝试下 我使用了以下方法实现 version: '3' services: halo_AAAAAA: #<<<<-----修改 image: halohub/halo:2.10 container_name: halo_download #<<<<-----修改 restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo_AAAAAA:/root/.halo2 #<<<<-----修改 ports: - "8091:8090" ##<<<<-----修改 command: - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo_AAAAAA #<<<<-----修改 - --spring.r2dbc.username=root # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。 - --spring.r2dbc.password=@@@@@@ #<<<<-----修改 - --spring.sql.init.platform=mysql # 外部访问地址,请根据实际需要修改 - --halo.external-url=https://@@@@@@@@.com #<<<<-----修改 # 初始化的超级管理员用户名 - --halo.security.initializer.superadminusername=@@@@@ #<<<<-----修改 # 初始化的超级管理员密码 - --halo.security.initializer.superadminpassword=@@@@@ #<<<<-----修改 halodb: image: mysql:8.0.31 container_name: halodb_AAAAA #<<<<-----修改 restart: on-failure:3 networks: halo_network: command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true volumes: - ./mysql:/var/lib/mysql - ./mysqlBackup:/data/mysqlBackup ports: - "3307:3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"] interval: 3s retries: 5 start_period: 30s environment: # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值 - MYSQL_ROOT_PASSWORD=admin@@@@@@ #<<<<-----修改 - MYSQL_DATABASE=halo_AAAAAAA #<<<<-----修改 networks: halo_network:
包子叔 https://docs.halo.run/user-guide/faq#%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E9%83%A8%E7%BD%B2%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9