
修改后的 Docker Compose 文件示例
AI-摘要
GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
您收到的警告和错误信息表明有两个问题:
-
version
属性已过时:- 从 Docker Compose 版本 2.0 开始,
version
属性已被移除,您可以安全地删除它。Docker Compose 会自动使用适当的版本,因此不再需要显式声明它。
- 从 Docker Compose 版本 2.0 开始,
-
未定义的网络
halo_network
:- 错误信息指出您在 services 中引用了一个未在配置文件中定义的网络。要解决此问题,您需要在 Docker Compose 文件中定义
halo_network
。
- 错误信息指出您在 services 中引用了一个未在配置文件中定义的网络。要解决此问题,您需要在 Docker Compose 文件中定义
修改后的 Docker Compose 文件示例
下面是更正后的 Docker Compose 文件。
services:
halo2: # 更改服务名称
image: registry.fit2cloud.com/halo/halo:2.20
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
- halo_network # 引用网络时不使用冒号
volumes:
- ./halo2_instance:/root/.halo2 # 更改数据卷
ports:
- "8092:8090" # 更改端口映射
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8092/actuator/health/readiness"] # 修正的健康检查
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
environment:
- JVM_OPTS=-Xmx256m -Xms256m
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo2 # 确保数据库名称正确
- --spring.r2dbc.username=root # 用户名
- --spring.r2dbc.password=6#DwN&JSa56 # 密码
- --spring.sql.init.platform=mysql
- --halo.external-url=http://localhost:8092/ # 更新外部访问地址
halodb: # 如果要使用共享数据库,可以保持此名称
image: mysql:8.1.0
restart: on-failure:3
networks:
- halo_network # 引用网络时不使用冒号
command:
- --default-authentication-plugin=caching_sha2_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql # 可以考虑改成 ./mysql2 以使用独立数据库
- ./mysqlBackup:/data/mysqlBackup
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
- MYSQL_ROOT_PASSWORD=6#DwN&JSa56
- MYSQL_DATABASE=halo2 # 如果使用不同数据库名称
networks:
halo_network: # 在这里定义 halo_network 网络
更新后的步骤
-
将上面更新后的内容复制到您的
docker-compose.yaml
文件中,并保存。 -
在命令行中再次运行以下命令:
docker-compose up -d
这应该可以解决您遇到的问题。如果还有其他错误,请分享错误信息以便进一步诊断。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 兰雀AI
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果