提问人:Carlos 提问时间:11/7/2023 最后编辑:Carlos 更新时间:11/7/2023 访问量:28
无法连接到数据库 NestJs - Docker
Unable to connect to the database, NestJs - Docker
问:
[Nest] 29 - 11/07/2023, 3:40:56 PM LOG [NestFactory] Starting Nest application...
[Nest] 29 - 11/07/2023, 3:40:56 PM LOG [InstanceLoader] AppModule dependencies initialized +59ms
ependencies initialized +0ms
[Nest] 29 - 11/07/2023, 3:40:56 PM LOG [InstanceLoader] JwtModule dependencies initialized +1ms
[Nest] 29 - 11/07/2023, 3:40:56 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...
Error: connect ECONNREFUSED 127.0.0.1:3307
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)
[Nest] 29 - 11/07/2023, 3:40:59 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (2)...
Error: connect ECONNREFUSED 127.0.0.1:3307
嗨,我的dockerfile中的连接仍然有问题,当我执行命令docker run -p80:3000 dmic:v1时,出现了与数据库的连接问题
这是我的dockerFile
FROM node:18-alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD [ "npm", "run", "start" ]
Docker-Compose.yml
version: "3.8"
services:
db:
image: mysql:8.0
container_name: mysql_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: pruebita_nest
MYSQL_USER: user_dmic
MYSQL_PASSWORD: root
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3307:3306"
这是我的环境变量
PORT = 3000
MYSQL_HOST = "localhost"
MYSQL_PORT = 3307
MYSQL_USERNAME = "user_dmic"
MYSQL_PASSWORD = "root"
MYSQL_DATABASE = "pruebita_nest"
MYSQL_SSL = "false"
JWT_SECRET = "no usar esto en produccion"
以及我与 TypeORM 的联系
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
}),
TypeOrmModule.forRoot({
type: 'mysql',
host: process.env.MYSQL_HOST,
port: parseInt(process.env.MYSQL_PORT,10),
username: process.env.MYSQL_USERNAME,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DATABASE,
entities: ['dist/**/*.entity.{ts,js}'],
synchronize: true,
ssl: process.env.MYSQL_SSL === 'true',
extra: {
ssl:
process.env.MYSQL_SSL === 'true'
? {
rejectUnathorized : false
} : null,
},
}),
UsersModule,
AuthModule,
CatalogoModule
],
controllers: [],
providers: [],
})
答: 暂无答案
评论
docker-compose
127.0.0.1