Чтобы запустить MongoDB с помощью Docker, вы можете использовать следующие методы вместе с примерами кода:
Метод 1: запуск MongoDB с указанной версией и портом
docker run --name my-mongo -p 27017:27017 -d mongo:latest
В этом примере команда docker run
создает новый контейнер с именем «my-mongo», используя последнюю версию образа MongoDB (mongo:latest
). Флаг -p
сопоставляет порт контейнера 27017 с портом хоста 27017, обеспечивая доступ к службе MongoDB.
Метод 2. Запуск MongoDB с постоянным томом данных
docker run --name my-mongo -p 27017:27017 -v /mydata:/data/db -d mongo:latest
Эта команда похожа на предыдущую, но также включает флаг -v
. Он создает постоянный том данных, сопоставляя каталог /data/db
внутри контейнера с каталогом /mydata
на хосте. Это гарантирует, что данные MongoDB будут храниться на хост-компьютере и сохраняться даже после остановки или удаления контейнера.
Метод 3. Запуск MongoDB с включенной аутентификацией
docker run --name my-mongo -p 27017:27017 -v /mydata:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=pass123 -d mongo:latest
Эта команда расширяет предыдущий пример, добавляя переменные среды (-e
), чтобы указать учетные данные корневого пользователя MongoDB во время инициализации. Замените admin
желаемым именем пользователя и pass123
желаемым паролем.
Метод 4. Запуск MongoDB с собственным файлом конфигурации
docker run --name my-mongo -p 27017:27017 -v /mydata:/data/db -v /myconfig:/etc/mongo -d mongo:latest --config /etc/mongo/mongod.conf
В этом методе вы можете использовать собственный файл конфигурации для MongoDB. Сопоставьте каталог /myconfig
на хосте с каталогом /etc/mongo
внутри контейнера, используя флаг -v
. Затем укажите путь к файлу пользовательской конфигурации, используя флаг --config
.
Метод 5. Запуск MongoDB с дополнительными параметрами
docker run --name my-mongo -p 27017:27017 -v /mydata:/data/db -d mongo:latest --smallfiles --logpath=/var/log/mongodb/mongod.log
В этом примере демонстрируется запуск MongoDB с дополнительными параметрами. Здесь флаг --smallfiles
уменьшает первоначальный размер файлов базы данных, а флаг --logpath
устанавливает собственный путь к файлу журнала.