我正在尝试为ASP.NET核心、mysql数据库和phpmyadmin设置一个带有容器的坞-撰写文件。设置mysql服务器没有问题,我可以使用phpmyadmin访问它。另外,我的ASP.NET核心应用程序运行正常,我可以在浏览器中访问它。
但是,我无法与我的MySQL数据库建立连接。应用程序不断返回:
无法连接到任何指定的MySQL主机。
应用程序通过appsettings.json中的连接字符串进行连接。
{
"ConnectionStrings": {
"FlowerAPIConnection": "server=localhost;userid=user;password=user;database=bloemenapi_db;Convert Zero Datetime=True"
},
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
}
}我的猜测是,在docker容器中,应用程序和mysql正在运行,似乎无法在本地主机上找到彼此。我尝试在连接字符串中使用mysql容器的ip入口,但这也不起作用。
我使用的是下面的docker-compose.yml和Dockerfile。
version: '3'
services:
db:
image: mysql
restart: always
container_name: flowerapi-db
environment:
- MYSQL_USER=root
- MYSQL_PASSWORD=user
- MYSQL_ROOT_PASSWORD=user
- MYSQL_DATABASE=bloemenapi_db
ports:
- "3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: flowerapi-pma
ports:
- "81:80"
external_links:
- db:mysql
environment:
PMA_HOST: "db"
PMA_PORT: 3306
web:
image: flowerapi
container_name: flowerapi-web
build:
context: ./FlowerAPI
dockerfile: Dockerfile
ports:
- "5000:80"
links:
- db
depends_on:
- dbDockerfile
FROM microsoft/aspnetcore:2.0
LABEL name "flower-api"
ARG source
WORKDIR /app
EXPOSE 5000/tcp
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "FlowerAPI.dll"]谢谢你的帮助。
发布于 2017-10-22 08:04:04
尝尝这个。与MSSQL相比,连接字符串略有不同。
"ConnectionStrings":{
"FlowerAPIConnection":"Server=db;port=3306;Database=bloemenapi_db;User=user;Password=password;"
}https://stackoverflow.com/questions/46170736
复制相似问题