도커 컨테이너에서 mongoimport를 실행합니다.
저는 도커를 개발에 사용합니다.
docker exec -it <My-Name> mongo
JSON 파일에서 MongoDB로 데이터를 가져오려고 하는데 실패합니다.
명령어는
mongoimport -d <db-name> -c <c-name> --file xxx.json
어떻게 해야 합니까?
설명에 따르면 호스트 시스템에 json 형식의 데이터 파일이 있으며 이 데이터를 컨테이너에서 실행 중인 mongodb로 가져오려고 합니다.
다음 단계를 수행할 수 있습니다.
#>docker exec -it <container-name> mongo
#>docker cp xxx.json <container-name-or-id>:/tmp/xxx.json
#>docker exec <container-name-or-id> mongoimport -d <db-name> -c <c-name> --file /tmp/xxx.json
마지막 단계에서 컨테이너에서 사용할 수 있는 파일 경로를 사용해야 합니다.
필요한 경우 추가 디버그를 수행하려면 컨테이너에 로그인하여 Linux 시스템에서 수행하는 방법을 실행할 수 있습니다.
#>docker exec -it <container-name-or-id> sh
sh $>cat /tmp/xxx.json
sh $>mongoimport -d <db-name> -c <c-name> --file /tmp/xxx.json
복사 파일 없이 실행:
docker exec -i <container-name-or-id> sh -c 'mongoimport -c <c-name> -d <db-name> --drop' < xxx.json
- 1단계: 호스트 터미널에서 JSON 파일이 있는 디렉토리로 이동합니다.
- 2단계: "docker cp xxx.json mongo:/tmp/xxx.json" 명령을 사용하여 JSON 파일을 현재 호스트 디렉토리에서 컨테이너 "tmp" 디렉토리로 복사합니다.
- 3단계: "docker container exec -it mongo bash" 명령을 사용하여 컨테이너 명령 셸로 이동합니다.
- 4단계: "mongoimport --uri=" 명령을 사용하여 "tmp" 폴더에서 컨테이너 데이터베이스로 컬렉션 가져오기
<mongodb connection uri
>" —collection=<c-name
> --file /tmp/xxx.json"
우리가 가진 것:
- 도커 컨테이너에서 실행 중인 mongodb.
- 로컬 컴퓨터에서 가져올 json 파일
- 로컬 시스템의 mongoimport.exe
이 json 파일을 컬렉션으로 가져오기 위해 수행할 작업:
mongoimport --uri=<connection-string> --collection=<collection-name> --file=<path-to-file>
예:
mongoimport --uri="mongodb://localhost:27017/test" --collection=books --file:"C:\Data\books.json"
몽고 수입에 대한 자세한 내용은 여기에서 확인하십시오. https://www.mongodb.com/docs/database-tools/mongoimport/
언급URL : https://stackoverflow.com/questions/49895447/i-want-to-execute-mongoimport-on-a-docker-container
'programing' 카테고리의 다른 글
Elmah가 asp.net 사이트에서 작동하지 않습니다. (0) | 2023.06.23 |
---|---|
Kotlin @ConfigurationProperties 클래스에 대한 IntelliJ Idea에서 spring-configuration-metadata.json 파일이 생성되지 않습니다. (0) | 2023.06.23 |
Spring Web Client에서 프록시 설정이 작동하지 않음 (0) | 2023.06.23 |
그룹화 및 조건 포함 개수 (0) | 2023.06.23 |
R에 "warning()"이 나타날 때 루프 깨짐 (0) | 2023.06.23 |