WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Настройка MongoDB на Docker для Linux

Отредактировано 2 несколько месяцев назад от ExtremeHow Редакционная команда

ДокерЛинуксMongoDBБаза данныхКонтейнеризацияРазработкаВиртуализацияРазвертываниеНастройкаКонфигурация

Настройка MongoDB на Docker для Linux

Перевод обновлен 2 несколько месяцев назад

MongoDB - это популярная NoSQL база данных, которая позволяет гибко и масштабируемо управлять данными. Docker, с другой стороны, - это платформа, которая позволяет программному обеспечению работать в контейнерах, обеспечивая консистентность приложений на любой платформе. Использование Docker для настройки MongoDB на Linux объединяет гибкость MongoDB с мощными возможностями контейнеризации Docker. Это руководство познакомит вас с процессом настройки MongoDB на Docker в среде Linux. Мы рассмотрим каждый шаг подробно, чтобы вы могли успешно его реализовать.

1. Необходимые условия

Прежде чем начать настройку MongoDB на Docker, убедитесь, что у вас есть следующее:

1.1 Установка Docker

Если Docker не установлен на вашей системе Linux, вы можете выполнить следующие шаги для его установки:

  1. Сначала обновите базу данных пакетов:
    sudo apt update
  2. Затем установите необходимые пакеты:
    sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  3. Далее, добавьте официальный GPG-ключ Docker:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. Настройте статический репозиторий Docker:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. Обновите базу данных пакетов еще раз:
    sudo apt update
  6. Наконец, установите Docker:
    sudo apt install docker-ce docker-ce-cli containerd.io

После выполнения этих шагов Docker должен быть успешно установлен на вашей системе Linux. Вы можете проверить установленную версию, используя следующую команду:

docker --version

2. Загрузка образа MongoDB Docker

Теперь, когда Docker установлен, следующий шаг - загрузить образ MongoDB с Docker Hub. Docker Hub - это облачная библиотека, где пользователи могут найти образы для различного программного обеспечения. Чтобы загрузить образ MongoDB, используйте следующую команду:

sudo docker pull mongo

Эта команда загрузит последнюю версию MongoDB из Docker Hub. Вы можете указать конкретную версию, добавив двоеточие (:) и номер версии после "mongo". Например, чтобы загрузить версию 4.4, используйте:

sudo docker pull mongo:4.4

3. Запуск контейнера MongoDB

После загрузки образа MongoDB вы можете создать и запустить контейнер, используя этот образ. Контейнер - это как легковесная виртуальная машина, которая может запускать различные приложения. Выполните следующую команду, чтобы запустить контейнер MongoDB:

sudo docker run --name mongodb -d -p 27017:27017 mongo

Анализ команды:

4. Проверка настройки MongoDB

После запуска контейнера MongoDB необходимо удостовериться, что все настроено правильно. Проверьте статус Docker контейнера, используя следующую команду:

sudo docker ps

Эта команда покажет список запущенных контейнеров, и вы увидите контейнер MongoDB среди них. Он покажет такие детали, как идентификатор контейнера, имя, использованный образ и назначенный порт.

Вы можете дополнительно проверить это, получив доступ к MongoDB с помощью оболочки MongoDB. Сначала войдите в работающий контейнер MongoDB:

sudo docker exec -it mongodb bash

Внутри оболочки контейнера запустите оболочку MongoDB, набрав следующую команду:

mongo

Это выдаст вам приглашение оболочки MongoDB, которое подтвердит, что MongoDB запущен внутри контейнера Docker.

5. Управление данными MongoDB

По умолчанию, любые данные, хранящиеся в контейнере Docker, не сохраняются. Это означает, что если контейнер будет удален, все данные, созданные в нем, будут утеряны. Чтобы данные сохранялись, вам необходимо отобразить каталог на хост-машине в каталог внутри контейнера.

Для этого остановите контейнер MongoDB:

sudo docker stop mongodb

Затем запустите новый контейнер с маппингом тома:

sudo docker run --name mongodb -d -p 27017:27017 -v /my/own/datadir:/data/db mongo

Объяснение нового флага:

Замените /my/own/datadir на путь, где вы хотите сохранять данные MongoDB на вашей хост-машине. Этот каталог будет сохранять все данные MongoDB, и они сохранятся, даже если вы удалите контейнер.

6. Защита экземпляра MongoDB

Запуск MongoDB с настройками по умолчанию может быть небезопасным для производственной среды. Вот некоторые основные шаги для повышения безопасности.

6.1 Создание административного пользователя

Сначала запустите оболочку MongoDB и создайте администратора:

mongo

Затем перейдите в базу данных admin:

use admin

Создайте администратора, выполнив следующую команду. Обязательно замените "username" и "password" на желаемое имя пользователя и пароль:

db.createUser({ user: "username", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

6.2 Включение аутентификации

Чтобы включить аутентификацию, вам нужно отредактировать файл конфигурации. Выйдите из оболочки и остановите работающий контейнер:

exit
sudo docker stop mongodb

Запустите новый контейнер MongoDB с включенной аутентификацией:

sudo docker run --name mongodb -d -p 27017:27017 -v /my/own/datadir:/data/db mongo --auth

Теперь, каждый раз, когда вы подключаетесь к базе данных, потребуется аутентификация.

7. Расширенные настройки

Для более сложных настроек можно предоставить файл конфигурации при запуске контейнера MongoDB. Создайте файл конфигурации на хост-машине и передайте его в контейнер с помощью следующей команды:

sudo docker run --name mongodb -d -p 27017:27017 -v /my/own/datadir:/data/db -v /my/own/config:/etc/mongo mongo --config /etc/mongo/mongod.conf

Замените /my/own/config на каталог, в котором находится ваш файл mongod.conf. Это позволит настроить такие параметры, как репликации, шардинг и логгирование.

8. Заключение

Настройка MongoDB на Docker для Linux предоставляет гибкий и эффективный способ управления базой данных с дополнительной выгодой от контейнеризации Docker. Это обеспечивает консистентность в разных средах и упрощает процессы развертывания. Следуя этим шагам, вы сможете эффективно запустить и защитить MongoDB на Docker.

Функции изоляции Docker позволяют вам легко создавать и удалять контейнеры, что упрощает тестирование и управление. Добавление таких мер безопасности, как сохранение данных и аутентификация, позволяет надежно использовать мощные функции MongoDB в производственной среде. Запомните, что с контейнеризацией знание о том, как управлять хранением данных и настройками, может значительно повысить производительность и надежность вашего настроенного приложения базы данных.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии