• Главная
  • Документация

АГИС Администрирование

Главная/Документация/АГИС Администрирование
Развернуть все Свернуть все
  • О разделе АГИС Администрирование
  •  Установка АГИС
    • Инсталяция Ubuntu
    • Установка LVM
    • Установка Docker
    • Установка модулей АГИС
    • Резервные копии
  • Запуск, перезапуск и останов АГИС
  •  Администрирование
    •   Ubuntu
      •   LVM&Snapshot
        • Snapshot
        • agis_backup_lvm_xfs
        • Ошибки
      •   Nginx, ssl, letsencrypt
        • Сертификат ssl
        • Letsencrypt
      •   NAS
        • Synology
        • Qnap
      •   SSH
        • SSH доступ без пароля по ключу
        • Клиент ssh
      •   Разные команды
        • Основные команды Linux
        • Расширенные команды
        • Работа с сервером
        • Gnome
      • FTP server
      • VPN server
    •   Базы данных
      • Запуск базы данных АГИС
      •   Mongo
        • mongodump-mongorestore
        • Основы
        • Test mongo db
        • Запросы mongodb
        • Запуск mongodb
        • Studio 3T for Mongo DB
        • Тестовый контейнер mongodb
        • mongodb формат даты
        • Replica set
      •   PostgreSQL
        • Test postgis
        • Dump&Restore PostgreSQL
        • Установка и запуск
        • PostgreSQL разное
      •   Elastic search
        • Команды elasticsearch
        • Tools to backup and restore ElasticSearch indices
      • Troubleshooting базы данных АГИС
      • MySql
    •   Docker
      • Команды Docker
      • Команды Docker (admin)
      • docker ps
      • .env
      • docker images save load
    •   Troubleshhoting
      • Mobaxterm
      • Проблема с дисками после raid
    •   Pfsense
      • Установка
      • Openvpn client
    •   Разное
      • Сколько байт(бит) в килобайте, мегабайте, гигабайте
      • Save bookmarks Studio 3T Mobaxterm
      • Acronis true image
      • Кодировки
      • OPC
  •  АГИС ГИС сервер
    • Запуск и остановка Tile сервера
    • Экспорт шейпа из АГИС ГИС
    • Импорт шейпа в АГИС ГИС
    • Backup&restore postgis(postgres)
    • Запуск pgAdmin4
    • Troubleshooting postgis
  •  АГИС Администрирование
    •   Пользователи
      • Добавление нового пользователя
    •   Роли
      • Добавление новой роли
    •   Перевод
      • Добавления перевода
    • АДС (Автоматизированная дисп служба)

Тестовый контейнер mongodb

169 просмотров 0

Создайте директорию, например ~/mongo и файл mongo-test.yml в этой папке

$ pwd
/home/agis/mongo
$ cat mongo-test.yml
version: '2.4'
services:
  mongo-db-test:
    image: "mongo:4.4"
    container_name: mongo-db-test
    volumes:
      - ./mongo-db-test/db:/data/db
    ports:
       - "9000:27017"
    restart: on-failure
    cpus: 1
    mem_limit: 1gb
    healthcheck:
      test: echo 'db.stats().ok' | mongo localhost:27017/just4testNur --quiet
      interval: 5s
      timeout: 5s
      retries: 12
networks:
  default:
    external:
      name: agis-net

Запустить контейнер

$ docker-compose -f mongo-test.yml up -d
Creating mongo-db-test ... done
$ docker-compose -f mongo-test.yml ps -a
    Name                  Command                State                Ports
------------------------------------------------------------------------------------
mongo-db-test   docker-entrypoint.sh mongod   Up (healthy)   0.0.0.0:9000->27017/tcp

Остановить контейнер

$ docker stop mongo-db-test
mongo-db-test

Удалить контейнер

$ docker-compose -f mongo-test.yml down -v
Stopping mongo-db-test ... done
Removing mongo-db-test ... done

Перезапустить контейнер

$ docker restart mongo-db-test
mongo-db-test
$ docker-compose -f mongo-test.yml restart
Restarting mongo-db-test ... done

Добавление в контейнер mongodb аутентификацию

admin-test-db – будет пользователем с правами администратора, роль userAdminAnyDatabase для базы данных admin. Это позволит пользователю с правами администратора создавать и изменять новых пользователей и роли. Поскольку у пользователя с правами администратора есть эта роль в базе данных admin, это также предоставит ему доступ с правами суперпользователя ко всему кластеру.

$ docker exec -it mongo-db-test mongo
> use admin
switched to db admin
> db.createUser(
... {
... user: "admin-test-db",
... pwd: passwordPrompt(),
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
Enter password:
Successfully added user: {
        "user" : "admin-test-db",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                },
                "readWriteAnyDatabase"
        ]
}

Обновите файл mongo-test.yml
Добавим: command: [–auth]

$ cat mongo-test.yml
version: '2.4'
services:
  mongo-db-test:
    image: "mongo:4.4"
    container_name: mongo-db-test
    command: [--auth]
    volumes:
      - ./mongo-db-test/db:/data/db
    ports:
       - "9000:27017"
    restart: on-failure
    cpus: 1
    mem_limit: 1gb
    healthcheck:
      test: echo 'db.stats().ok' | mongo localhost:27017/just4testNur --quiet
      interval: 5s
      timeout: 5s
      retries: 12
networks:
  default:
    external:
      name: agis-net

И проверим

$ docker exec -it mongo-db-test mongo -u admin-test-db -p --authenticationDatabase admin
MongoDB shell version v4.4.3
Enter password:
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("48bdb8e0-54f3-448f-9251-10c805862d20") }
MongoDB server version: 4.4.3
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
zander  0.609GB
> exit
bye

Если зайдем без аунтефиуации, то ничего не увидим

$ docker exec -it mongo-db-test mongo
MongoDB shell version v4.4.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("935179c1-dc45-4731-81b8-0ccf39c602a6") }
MongoDB server version: 4.4.3
> show dbs
> exit
bye
Вам может быть интересно
  • OPC
  • Gnome
  • Сертификат ssl
  • Replica set
  • VPN server
  • MySql
  • Copyright 2020 AGIS. Все права защищены. e-mail: info@agis.kz Tel: +7(7172) 998386