Toto:
mysql:
image: mysql:5.7
environment:
...
ports:
- "3307:3306"
Znamená to, že Docker namapuje 3307
port hostitele na 3306
přístav kontejneru. Takže můžete přistupovat z Sequel na localhost:3307
.
Neznamená to však, že kontejner poslouchá 3307
; kontejner ve skutečnosti stále poslouchá 3306
. Když se ostatní kontejnery pokusí o přístup k mysql
DNS se přeloží na IP interního kontejneru, proto se musíte připojit k 3306
.
Konfigurace vašeho uzlu by tedy měla vypadat takto:
const config = {
host: 'mysql',
database: 'mydb',
port: '3306',
user: 'mysql',
password: '1234',
connectionLimit: 10
}
A toto ve vašem docker-compose.yml:
command: ["./wait-for-it.sh", "mysql:3306"]