도커 컨테이너에서 mongodb 쉘을 시작하는 방법은 무엇입니까?
컨테이너를 시작하려면 다음 명령을 입력합니다.
sudo docker run -i -t -p 28000:27017 mongo:latest /usr/bin/mongod --smallfiles
하지만 이 컨테이너의 셸을 열고 mongo 명령어를 입력합니다.같은 작업을 수행하려면 어떤 명령을 실행해야 합니까?
인터랙티브 mongo 셸은 다음 명령을 실행하여 실행할 수 있습니다.
docker run -it -p 28000:27017 --name mongoContainer mongo:latest mongo
그렇지 않으면 컨테이너가 이미 실행 중인 경우exec
명령어:
docker exec -it mongoContainer mongo
나도 힘들었지만 해결책을 찾은 것:
docker pull mongo
docker run --name CONTAINERNAME --restart=always -d -p 8080:8080 mongo mongod --auth
sudo docker exec -i -t CONTAINERNAME bash
mongo
use admin
db.createUser({user:"user", pwd:"password", roles:[{role:"root", db:"admin"}]})
exit && exit
이제 필요한 모든 것을 갖춘 실행 중인 도커 컨테이너를 만들었습니다.admin 사용자가 있는 임의의 클라이언트에서 접속하는 경우는, 다음의 조작을 클릭합니다.
mongo -u "user" -p "password" HOSTIP --authenticationDatabase "admin"
확장 및 갱신@vladzam
컨테이너가 이미 실행 중인지 여부를 확인합니다.docker
, exec을 사용할 수 있습니다.mongosh
명령어에 다음과 같은 로그인 및 패스옵션을 지정합니다.
docker exec -it database-dev mongosh -u "myLogin" -p "myPass"
도커 허브에서 최신 MongoDB 도커 이미지 다운로드
sudo docker pull mongo
이제 MongoDB 컨테이너 설정
docker run --name containername mongo
bash 셸 클라이언트를 통해 데이터베이스와 상호 작용합니다.
docker exec -it containername bash
MongoDB 쉘 클라이언트 부팅
mongosh #now it is mongosh to access shell
실행 중인 MongoDB 버전에 따라 다릅니다.
MongoDB 쉘과 레거시 Mongo Shell의 차이점을 참조하십시오.
예를 들어 Mongo 3에서 실행 가능한 파일은mongo
:
$ docker run --rm mongo:3 which mongo mongosh mongod
/usr/bin/mongo
/usr/bin/mongod
Mongo 5에서는 둘 다mongo
그리고.mongosh
존재:
$ docker run --rm mongo:5 which mongo mongosh mongod
/usr/bin/mongo
/usr/bin/mongosh
/usr/bin/mongod
Mongo 6에서는 최신 제품만 사용할 수 있습니다.mongosh
:
$ docker run --rm mongo:6 which mongo mongosh mongod
/usr/bin/mongosh
/usr/bin/mongod
이제 MongoDB 인스턴스를 실행합니다.
$ docker run -d -p 29000:27017 --name mongodb-6 mongo:6
다음으로 셸을 연결합니다.
$ docker exec -it mongodb-6 mongosh
다음과 같은 결과를 얻을 수 있습니다.
Current Mongosh Log ID: 632456e42dbc88aa0bfe612f
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.5.4
Using MongoDB: 6.0.1
Using Mongosh: 1.5.4
...
다음과 같은 옵션을 전달할 수도 있습니다.
$ docker exec -it mongodb-6 mongosh --version
호스트 컴퓨터에 mongo가 설치되어 있다고 가정합니다. 수년 전 제가 이 질문을 했을 때 그랬습니다.다른 방법으로 시도해 보았습니다.새 터미널 열기
mongo 127.0.0.1:28000
지금 이 단말기에서 당신의 mongo shell이 시작됩니다.
docker exec -it mongoContainer mongosh
mongo, mongod, mongodb를 시도했지만 실패했습니다.그리고 몽고쉬로 바꿨더니 작동하더라고요!
언급URL : https://stackoverflow.com/questions/32944729/how-to-start-a-mongodb-shell-in-docker-container
'programing' 카테고리의 다른 글
카트 표시 중 배송 국가 가져오기 - WooCommerce (0) | 2023.02.25 |
---|---|
Angular 2의 $compile과 동등 (0) | 2023.02.25 |
각도와 동일한 각도는 무엇입니까?JS $watch? (0) | 2023.02.25 |
클래스 기반 컴포넌트에서 React.forwardRef를 사용하는 방법 (0) | 2023.02.25 |
TypeScript에서 문자열 유형 배열 테스트 (0) | 2023.02.25 |