준비물
명령 프롬프트나 터미널을 열고 다음 명령어를 입력하여 MongoDB Docker 이미지를 다운로드 합니다.
docker pull mongo
그후
docker images
를 입력하여 잘 다운 받아졌는지 확인합니다.
위에처럼 뜬다면 잘 설치가 된 것입니다!
다음 명령어를 입력하여 MongoDB 컨테이너를 생성합니다.
이때my-mongo-cotainer
에는 원하는 컨테이너 이름을 작성하면 됩니다.docker run -d -p 27017:27017 --name my-mongo-container mongo
위의 명령은 호스트의 27017 포트와 컨테이너의 27017 포트를 매핑합니다.
docker ps
를 입력하여 MongoDB 컨테이너가 정상적으로 실행되고 있는지 확인을 합니다.
목록에 my-mongo-container 또는 선택한 컨테이너 이름이 나타나면 MongoDB가 정상적으로 실행 중입니다.
이제 MongoDB의 계정 설정을 하도록 하겠습니다. 먼저 아래 명령어를 입력해서 컨테이너에 직접 접속합니다.
docker exec -it my-mongo-container mongosh admin
그리고 나서 아래 쿼리를 실행하여 root 사용자의 비밀번호를 설정합니다.
db.createUser( { user: "admin", pwd: "yourpassword", roles: [ { role: "root", db: "admin" } ] } )
yourpassword에는 원하는 비밀번호를 입력하면 됩니다.
이렇게 입력하게 되면 admin 사용자에 대한 비밀번호가 설정된것입니다!
비밀번호를 설정한 후에는 MongoDB 클라이언트 또는 연결하는 애플리케이션에서 해당 비밀번호를 사용하여 MongoDB에 접속할 수 있습니다.
Python에서 MongoDB에 연결하려면 pymongo 라이브러리를 사용해야합니다.
터미널이나 명령 프롬프트에서 다음 명령을 실행하여 pymongo를 설치해주도록 하겠습니다.pip install pymongo
그럼 이제 MongoDB에 연결이 잘되는지 확인하는 Python 코드를 작성해보겠습니다.
import pymongo
# MongoDB 연결 정보
mongo_host = 'localhost' # 또는 컨테이너의 IP 주소
mongo_port = 27017
mongo_user = 'admin'
mongo_password = 'yourpassword'
# MongoDB에 연결
try:
client = pymongo.MongoClient(f'mongodb://{mongo_user}:{mongo_password}@{mongo_host}:{mongo_port}')
db = client.admin # 연결 테스트를 위해 admin 데이터베이스 사용
print("Connected to MongoDB successfully!")
except pymongo.errors.ConnectionFailure as e:
print(f"Failed to connect to MongoDB: {e}")
finally:
if 'client' in locals():
client.close()
위 코드에서 mongo_host, mongo_port, mongo_user, mongo_password 변수를 자신의 환경에 맞게 수정을 하고, 실행을 하게 된다면
연결이 성공적인지 또는 실패한 이유를 출력하게 됩니다.
저는 파일을 실행하니 정상적으로 잘 연결된다고 뜨게 되었습니다!