programing

Nestjs/TypeORM이 도커 마리아에 연결할 수 없음DB

subpage 2023. 7. 23. 14:16
반응형

Nestjs/TypeORM이 도커 마리아에 연결할 수 없음DB

nodejs 11.10 및 mariadb가 포함된 도커 이미지를 실행할 때마다 다음 오류가 발생합니다.

[Nest] 16 - 3/12/2019 오전 11:24:02 [TypeOrmModule] 데이터베이스에 연결할 수 없습니다.재시도 중(9)...+3587ms 오류: EPERM: 작업이 허용되지 않습니다. GlobSync의 Object.readdirSync(fs.js:807:3)에서 scandir '/proc/1/map_files/559e63542000-559e656d1000'을(를) 검색합니다.GlobSync에서 _readdir(/app/node_modules/glob/sync.js:288:41).GlobSync에서 _readdirInGlobStar(/app/node_modules/glob/sync.js:267:20).GlobSync에서 _readdir(/app/node_modules/glob/sync.js:276:17).GlobSync에서 _processReaddir(/app/node_modules/glob/sync.js:137:22).GlobSync에서 _process(/app/node_modules/glob/sync.js:132:10)를 실행합니다.GlobSync에서 _processGlobStar(/app/node_modules/glob/sync.js:380:10).GlobSync에서 _process(/app/node_modules/glob/sync.js:130:10)를 실행합니다.GlobSync에서 _processGlobStar(/app/node_modules/glob/sync.js:383:10)._process (/app/node_sys/sync.js:130:10)

사용할 때도 동일한 문제가 발생합니다.mysql:latest&mysql:5.6이것이 제 연결고리입니다.

TypeOrmModule.forRoot({
  type: 'mariadb',
  host: '172.17.0.1',
  port: 3306,
  username: 'nest',
  password: 'secret',
  database: 'nest',
  entities: [__dirname + '/**/*.entity{.ts,.js}'],
  synchronize: true,
}),

이 문제를 해결하는 방법을 아는 사람이 있습니까?감사합니다!

이 문제는 다음과 같은 이유로 발생합니다.entities: [__dirname + '/**/*.entity{.ts,.js}'],.왜냐면__dirname어떻게든 프로젝트 디렉토리로 해결되지는 않지만''대신 전체 드라이브에서 엔터티를 검색하려고 하지만 이를 위한 권한이 없습니다.

해결 방법

엔티티를 검색하는 대신 다음과 같이 명시적으로 나열합니다.

entities: [UserEntity, ProductEntity],

hmr용 웹 팩을 사용하는 경우 다음 구성을 사용하여 문제를 해결할 수도 있습니다.__dirname정확하게:

webpack.config.js:
node: {
  __dirname: false,
},

이것이 도움이 되었습니다.

entities: [__dirname + '/../**/*.entity{.ts,.js}']

시작 경로를 기록합니다.'/../'절대 경로에서 검색을 시작하는 평균입니다.

언급URL : https://stackoverflow.com/questions/55120476/nestjs-typeorm-cannot-connect-to-docker-mariadb

반응형