これ:
mysql:
image: mysql:5.7
environment:
...
ports:
- "3307:3306"
Dockerが3307をマップすることを意味します 3306へのホストのポート コンテナのポート。したがって、Sequelからlocalhost:3307にアクセスできます。 。
ただし、コンテナが3307をリッスンしているという意味ではありません。;コンテナは実際にはまだ3306をリッスンしています 。他のコンテナがmysqlにアクセスしようとしたとき DNS、内部コンテナIPに変換されるため、3306に接続する必要があります 。
したがって、ノード構成は次のようになります。
const config = {
host: 'mysql',
database: 'mydb',
port: '3306',
user: 'mysql',
password: '1234',
connectionLimit: 10
}
そしてこれはあなたのdocker-compose.ymlにあります:
command: ["./wait-for-it.sh", "mysql:3306"]