确保Docker容器已正确运行并监听正确的端口。可以使用以下命令查看容器是否正常运行:
docker ps
如果您无法看到MySQL容器,请运行以下命令:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:latest
确保NodeJS应用程序正在连接到正确的主机和端口。例如,如果您的MySQL容器是在localhost:3306上运行,请确保您的NodeJS应用程序正确连接到该主机和端口。
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydatabase'
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL:', err);
return;
}
console.log('Connected to MySQL database!');
});
如果您的MySQL容器不是在localhost上运行,请确保您的NodeJS应用程序连接到正确的IP地址和端口。您可以运行以下命令查找MySQL容器的IP地址:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' mysql
然后,将NodeJS应用程序中的主机更改为此IP地址:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: '172.17.0.2', // Replace with MySQL container's IP address
user: 'root',
password: 'password',
database: 'mydatabase'
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL:', err);
return;
}
console.log('Connected to MySQL database!');
});