我使用以下命令在docker中启动MySQL:
docker run --name mysql-for-teamcity \
-e MYSQL_ROOT_PASSWORD=FAKE-ROOT-PW\
-v ~/MySQL/var_lib_mysql:/var/lib/mysql \
-p 3306:3306 \
-p 33060:33060 \
-it mysql但是TeamCity未能连接MySQL,错误消息是:

我可以使用以下命令连接终端中的MySQL:
mysql -u root --protocol=tcp -p此外,还创建了数据库“团队城市”。
我的环境:
发布于 2018-12-06 07:41:15
原因是TeamCity和MySQL在单独的容器中运行,所以当我为TeamCity指定"127.0.0.1“时,它不可能连接到MySQL。因为它们根本不在同一台主机上运行。
解决方案是使用Docker,默认情况下设置容器的本地网络。
步骤1:在要放置docker-compose.yml的空目录中创建一个TeamCity:
version: '3'
services:
TeamCity:
image: jetbrains/teamcity-server
ports:
- "8111:8111"
volumes:
- <your TeamCity dir>/data:/data/teamcity_server/datadir
- <your TeamCity dir>log:/opt/teamcity/logs
MySQL:
image: mysql
ports:
- "3306:3306"
volumes:
- <your TeamCity dir>/mysql:/var/lib/mysql
env_file:
- mysql.env步骤2:在同一个目录中创建一个mysql.env:
MYSQL_ROOT_PASSWORD=YOUR-MYSQL-PASSWD步骤3:在终端中运行docker-compose up -d
步骤4:在浏览器中打开"http://127.0.0.1:8111“
步骤5:在DataBase主机字段中输入"MySQL:3306“。
https://stackoverflow.com/questions/53628855
复制相似问题