これ:
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"]