MongoDB Docker 컨테이너에 보안을 추가하는 방법
NB: 이 안내서는 귀하가 어느 정도docker 지식이 있고 작업 환경에 도커 설정이 있다고 가정합니다.
따라서 먼저 MongoDB docker container을 시작하고 실행해야 합니다. 이 작업은 다음 명령으로 수행할 수 있습니다.
docker run -d --name some-mongo \
-e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
-e MONGO_INITDB_ROOT_PASSWORD=secret \
mongo
여기를 자세히 보면 환경 변수 MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD를 사용하여 mongo 이미지(컨테이너)의 인스턴스를 생성하고 있습니다. 이 두 변수를 설정하면 데이터베이스 사용자가 생성됩니다. 사용자는 인증 인증 데이터베이스에 생성되고 역할이 부여됩니다. MongoDB의 슈퍼유저인 root. 이제 MongoDB 이미지가 some-mongo라는 이름으로 실행 중이므로 mongo 셸에 로그인하고 데이터베이스 사용자를 생성해야 합니다. 아래 명령을 실행하여 mongo 컨테이너에서 bash를 실행합니다.
docker container exec -it some-mongo bash
이제 실행 중인 터미널은 bash입니다. 이제 mongo를 실행하고 아래 명령을 사용하여 보안 로컬 데이터베이스에 연결해야 합니다.
mongo mongodb://mongoadmin:secret@localhost:27017
모든 것이 올바르게 실행되면 시스템에 따라 아래와 거의 유사한 터미널을 볼 수 있습니다.
이제 루트 사용자로 DB 명령을 실행하여 데이터베이스에 대한 데이터베이스 사용자를 생성할 수 있습니다.
데이터베이스 고객을 위한 사용자를 생성하려면 다음 명령을 실행합니다.
use customers
db.createUser({
user: "web-app",
pwd: "eureka",
roles: [{role: "readWrite", db: "customers"}]
})
위의 명령을 실행한 후 데이터베이스 고객은 이제 사용자 web-app과 함께 안전한 DB가 됩니다. 이제 연결 문자열
mongodb://web-app:eureka@<host>:<port>
을 사용하여 데이터베이스에 액세스할 수 있습니다. 이제 서버 구성 또는 MongoDB Compass에서 이 연결 문자열을 사용하여 데이터를 찾아볼 수 있습니다.예, 이제 도커 컨테이너에 안전한 데이터베이스가 생겼습니다 🙌👏🙌👏
Reference
이 문제에 관하여(MongoDB Docker 컨테이너에 보안을 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/blessedtawanda/how-to-add-security-to-your-mongodb-docker-container-4acc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)