programing

도커 컨테이너에서 mongodb 쉘을 시작하는 방법은 무엇입니까?

muds 2023. 2. 25. 22:26
반응형

도커 컨테이너에서 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

반응형