Docs Menu
Docs Home
/ /
Atlas CLI
/ /

Docker로 로컬 Atlas 배포서버 만들기

이 페이지의 내용

  • Docker로 로컬 Atlas 배포서버 만들기
  • Docker Compose로 로컬 Atlas 배포 만들기
  • Docker Compose로 실행 전반에 걸쳐 데이터 유지
  • 종속성 목록 생성
  • 이미지 서명 확인
  • Github 작업으로 이미지 실행
  • 공식 이미지를 로컬 Atlas 배포로 변환

이 튜토리얼에서는 Docker를 사용하여 로컬 Atlas 배포서버를 만드는 방법을 보여줍니다. 이 튜토리얼에서는 Docker를 사용하여 단일 노드 복제본 세트를 배포합니다.

중요

공개 미리보기

Docker 및 Docker Compose의 로컬 배포는 공개 미리 보기로 제공됩니다. 기능 및 해당 설명서는 공개 미리 보기 단계에서 언제든지 변경될 수 있습니다. 질문하고 피드백 을 제공하려면 Atlas CLI 로컬 개발 커뮤니티 포럼을 참조하세요.

1

자세한 내용은 Docker 설명서를 참조하세요.

2

예시:

docker pull mongodb/mongodb-atlas-local:latest
3

예시:

docker run -p 27017:27017 mongodb/mongodb-atlas-local
docker run -e MONGODB_INITDB_ROOT_USERNAME=user -e MONGODB_INITDB_ROOT_PASSWORD=pass -p 27017:27017 mongodb/mongodb-atlas-local

로그는 Docker 이미지가 실행될 때 표시됩니다.

4

호스트(컨테이너 아님)에서 로컬 Atlas 배포서버에 연결하려면 다음 명령을 복사하여 새 터미널에 붙여넣고 {connection_string} 변수를 연결 string 로 바꿉니다.

참고

다음 예제에서는 mongosh 을(를) 사용하지만 원하는 연결 방법을 사용할 수 있습니다.

mongosh {connection_string}

예시:

mongosh "mongodb://localhost:27017/?directConnection=true"
mongosh "mongodb://user:pass@localhost:27017/?directConnection=true"

Docker Compose를사용하여 로컬 Atlas 배포서버를 생성합니다.

참고

공식 MongoDB Docker 이미지를 사용하여 구축한 기존 Docker-Compose 기반 Atlas 구현 이 있고 Atlas 로컬 개발자 이미지를 사용하도록 변환하려는 경우 아래의 로컬 개발자 구현으로 변환을 참조하세요.

1

자세한 내용은 Docker 설명서를 참조하세요.

2

예시:

brew install docker-compose

자세한 내용은 Docker Compose 설치 설명서를 참조하세요.

3

Docker Compose를 실행하는 디렉토리와 동일한 디렉토리에 docker-compose.yaml 파일을 만듭니다.

예시:

1services:
2 mongodb:
3 image: mongodb/mongodb-atlas-local
4 environment:
5 - MONGODB_INITDB_ROOT_USERNAME=user
6 - MONGODB_INITDB_ROOT_PASSWORD=pass
7 ports:
8 - 27018:27017
4

다음 명령은 Atlas Search 기능이 활성화된 로컬 Atlas 배포를 만듭니다.

예시:

docker-compose up
5

호스트(컨테이너 아님)에서 로컬 Atlas 배포서버에 연결하려면 다음 명령을 복사하여 새 터미널에 붙여넣고 {connection_string} 변수를 연결 string 로 바꿉니다.

참고

다음 예제에서는 mongosh 을(를) 사용하지만 원하는 연결 방법을 사용할 수 있습니다.

mongosh {connection_string}

예시:

mongosh "mongodb://user:pass@localhost:27018/?directConnection=true"
6
docker compose down -v

Docker Compose 를 사용하여 여러 실행에 걸쳐 데이터를 유지할 수 있습니다. . 데이터를 유지하면 실행 사이에 데이터가 손실되지 않도록 하는 데 도움이 됩니다. 데이터는 Docker Compose 실행 전반에 걸쳐 계속 사용할 수 있습니다.

1

자세한 내용은 Docker 설명서를 참조하세요.

2

예시:

brew install docker-compose

자세한 내용은 Docker Compose 설치 설명서를 참조하세요.

3

docker-compose.yaml 파일을 업데이트하여 필요한 데이터 디렉토리를 볼륨으로 마운트합니다.

예시:

1services:
2 mongodb:
3 hostname: mongodb
4 image: mongodb/mongodb-atlas-local
5 environment:
6 - MONGODB_INITDB_ROOT_USERNAME=user
7 - MONGODB_INITDB_ROOT_PASSWORD=pass
8 ports:
9 - 27019:27017
10 volumes:
11 - data:/data/db
12 - config:/data/configdb
13volumes:
14 data:
15 config:
4

다음 명령은 Atlas Search 기능이 활성화된 로컬 Atlas 배포를 만듭니다.

예시:

docker-compose up

분리 모드에서 Docker Compose를 실행할 수도 있습니다.

예시:

docker-compose up -d
5

호스트(컨테이너 아님)에서 로컬 Atlas 배포서버에 연결하려면 다음 명령을 복사하여 새 터미널에 붙여넣고 {connection_string} 변수를 연결 string 로 바꿉니다.

참고

다음 예제에서는 mongosh 을(를) 사용하지만 원하는 연결 방법을 사용할 수 있습니다.

mongosh {connection_string}

예시:

mongosh "mongodb://user:pass@localhost:27019/?directConnection=true"

mongodb/mongodb-atlas-local Docker 이미지에 대한 종속성 목록을 생성할 수 있습니다.

1

예시:

brew install syft

자세한 내용은 syft README를 참조하세요.

2
syft mongodb/mongodb-atlas-local

mongodb/mongodb-atlas-local Docker 이미지의 서명을 확인할 수 있습니다.

1

예시:

brew install cosign

자세한 내용은 cosign 설치를 참조하세요.

2

예시:

curl -O https://cosign.mongodb.com/mongodb-atlas-local.pem
COSIGN_REPOSITORY="docker.io/mongodb/signatures" cosign verify --private-infrastructure --key=./mongodb-atlas-local.pem "mongodb/mongodb-atlas-local";

작업을 사용하여 이미지를 실행하려면 mongodb/mongodb-atlas-local Docker Github 워크플로 파일을 만듭니다. 자세한 내용은 Github 작업 빠른 시작을 참조하세요.

예시:

.github/workflows 디렉토리에 다음 mongodb.yml 파일을 만듭니다.

on:
push:
branches:
- main
pull_request:
jobs:
run:
runs-on: ubuntu-latest
services:
mongodb:
image: mongodb/mongodb-atlas-local
ports:
- 27017:27017
steps:
- name: install mongosh
run: |
curl --output mongosh.deb https://downloads.mongodb.com/compass/mongodb-mongosh_2.2.1_amd64.deb
sudo dpkg -i mongosh.deb
mongosh --version
- run: mongosh 'mongodb://localhost/?directConnection=true' --eval 'show dbs'

공식 Mongo Docker 이미지로 구축한 기존 Atlas 구현 을 Docker Compose에서 실행 경우, 다음 체크리스트를 참조하여 mongodb-atlas-local 이미지로 변환하는 과정을 간소화할 수 있습니다.

  1. docker-compose.yaml 파일 에서 기존 command 을(를) 제거합니다. Docker Compose 정의의 commandmongodb-atlas-local 이미지에 정의된 ENTRYPOINT 을 재정의하므로 mongodb-atlas-local 이미지를 설계된 대로 실행 하려면 기존 command 를 모두 제거 해야 합니다.

  2. 이 기능 은 mongodb-atlas-local 이미지에 내장되어 있으므로 Atlas 배포서버 에 대한 상태 확인을 정의할 필요가 없습니다.

다음 예제에서는 Docker Compose YAML 파일 에 필요한 변경 사항을 보여줍니다.

services:
self_built_atlas_implementation:
image: mongo:8.0
ports:
- 27017:27017
command: ["./entrypoint.sh"] # You may have defined a health check for the database in the entrypoint script.
services:
local_dev_atlas:
image: mongodb/mongodb-atlas-local:8.0
hostname: local_dev_atlas
ports:
- 27017:27017
environment:
- MONGODB_INITDB_ROOT_USERNAME=user
- MONGODB_INITDB_ROOT_PASSWORD=pass
volumes:
- data:/data/db
- config:/data/configdb
volumes:
- data:
- config:

돌아가기

로컬 배포 만들기