mysql - docker-compose 首次启动并构建,MySql 服务器启动速度比 .net5 API 慢
问题描述
我在 docker 中使用 MySQL 和 .net5 Web API。我的 docker 配置是带有 WSL2 的 Window10 Home。
我的 Docker-compose 和 compose.override 文件如下
码头工人-compose.yml
version: '3.4'
services:
userdb:
image: mysql
portainer:
image: portainer/portainer-ce
usermanagement.api:
image: ${DOCKER_REGISTRY-}usermanagementapi
build:
context: .
dockerfile: Services/User/User.API/Dockerfile
volumes:
mysql_data:
portainer_data:
docker-compose.override.yml
version: '3.4'
services:
userdb:
container_name: userdb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=user
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
portainer:
container_name: portainer
restart: always
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
usermanagement.api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- "ConnectionStrings:DefaultConnection=server=userdb;port=3306;database=user;userid=root;pwd=root;"
depends_on:
- userdb
ports:
- "8001:80"
每当我第一次构建或构建我的 docker-compose 文件时(重新启动或清理旧卷然后 DC 启动)。然后它抛出错误 MySql connection error MySqlConnector.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts。
然后我必须手动停止然后启动我的 API 容器。然后连接工作正常。
我做错了什么或对此问题有任何解决方案吗?请分享?
解决方案
推荐阅读
- python - 运行 HTMLrequests() 时出现 Tracemalloc 错误
- python - 如何在 python 函数中使用气流 jinja 模板?
- java - Keycloak 服务器作为 Eureka 客户端
- kubernetes - Microk8s 入口 - defaultBackend
- uitableview - 如何在主线程内推送 DiffableDataSourceSnapshot 更新?
- javascript - 无法加载本地 JSON 文件
- python - 为 virtualenv 设置 PYTHONIOENCODING=utf-8
- prometheus - Victoria Metrics - 删除缺少标签的时间序列
- excel - Excel,动态参考日期
- r - 在 R 中使用 lag 函数调用多个值