我正在用.NET Core和MySQL構建api,全部完成。我現在在Docker中進行設置。首先,我在Docker中設置了應用程序,連接到我的筆記本電腦本地運行的數據庫。我不得不將--add-host=docker:<My local IP-address>
添加到運行命令以連接到數據庫並將連接字符串更改爲<My local IP-address>
。無法將兩個docker連接在一起,一個數據庫,一個.net核心應用程序
現在我想擁有一個單獨的Docker實例中的MySQL數據庫。我做運行它:
docker run -p 3306:3306 --name mysqlserver --expose 3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_ROOT_HOST=% -d mysql/mysql-server
我可以
mysql -h 127.0.0.1 -P 3306 -u root -p
的正常工作,從我的本地機器連接到該泊塢數據庫。
現在我想從另一個Docker實例中的API連接到此數據庫。我用--link
選項將容器連結在一起,
sudo docker run -p 5000:5000/tcp --link mysqlserver:mysql -it --rm apimysql
它開始罰款,但給出了一個例外,它不能連接到數據庫。我認爲問題出在連接字符串中。我不知道我必須連接的服務器的正確IP地址/主機名是什麼。這是我的連接字符串:
"DefaultConnection":"Server=127.0.0.1;Uid=root;Pwd=password;Database=webapi;"