1 установка
В этой статье предполагается, что вы уже установилиdockerИ можно нормально использовать, поэтому не буду объяснять как установитьdocker. использоватьdockerУстановитьMongoDBПоследняя версия выглядит следующим образом:
# 从repository查找mongo的相关镜像,结果很多,其中第一条为官方的镜像
$ docker search mongo
# 下载官方镜像的最新版本
$ docker pull mongo:latest
# 完成后,检查是否下载成功
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 5e35e350aded 12 days ago 203MB
mongo latest 965553e202a4 3 weeks ago 363MB
hello-world latest fce289e99eb9 10 months ago 1.84kB
С помощью всего нескольких простых команд у нас есть последний образ MongoDB, и мы можем использовать его позже.
2 Старт
После завершения загрузки образа MongoDB запуск очень прост, всего одна команда:
$ docker run -itd --name mongo -p 27017:27017 mongo --auth
305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c
(1)--name
Следующий параметр — это имя контейнера Docker;
(2)-p
Затем следует сопоставление портов, т.е.宿主端口:容器端口
;
(3)--auth
Запускать ли аутентификацию, если не хотите открывать, можете убрать;
После успешного запуска экземпляра MongoDB будет возвращен идентификатор контейнера, например305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c
.
по командеdocker ps
Вы можете просмотреть работающий контейнер, и после проверки он действительно работает.
Уведомление: данные по умолчанию существуют в контейнерной системе./data/db
каталог, если вам нужно использовать собственный каталог хост-компьютера, вы можете добавить параметры в команду запуска:
-v /my/own/datadir:/data/db
3 Создание пользователей и коллекций
3.1 Вход в контейнер
После того, как контейнер запущен, следующий шаг - ввести контейнер:
# 进入容器可以用以下两种方法
# 分别是通过容器名和容器ID
$ docker exec -it mongo bash
$ docker exec -it 305ebd823667 bash
После входа в контейнер выше, он фактически входит в систему контейнера и открываетbash
.
3.2 Подключение к базе данных через клиентские команды
затем черезmongo
Команда для подключения к службе базы данных MongoDB.
# 默认连接本地的27017端口的MongoDB
$ mongo
# 指定IP与端口进行连接
$ mongo 127.0.0.1:27017
# 指定用户名和密码连接到指定的MongoDB数据库
$ mongo 127.0.0.1:27017/admin -u user -p password
После успешного подключения к базе данных будет возвращена некоторая информация, например SeesionID и номер версии.
3.3 Посмотреть версию
(1) Передайте команду Linuxmongo --version
Запросить;
(2) После подключения к базе данных перейдитеdb.version()
Запрос.
root@305ebd823667:/# mongo --version
MongoDB shell version v4.2.1
git version: edf6d45851c0b9ee15548f0f847df141764a317e
OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
root@305ebd823667:/# mongo
> db.version()
4.2.1
3.4 Создание пользователя управления администратором
После подключения к базе данных мы сначала создаем пользователя-администратора для управления другими пользователями:
> use admin
switched to db admin
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
>
3.5 Создайте пользователя с правами на чтение и запись
В соответствии с потребностями бизнеса создайте разных пользователей следующим образом, чтобы создать пользователя с правами на чтение и запись:
> db.auth('admin','123456');
1
> db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]});
Successfully added user: {
"user" : "user",
"roles" : [
{
"role" : "readWrite",
"db" : "testdb"
}
]
}
>
3.6 Аутентификация пользователей и работа
> db.auth('user','123456')
1
> use testdb
switched to db testdb
>
> db.person.insert({name:'Larry',age:18})
WriteResult({ "nInserted" : 1 })
> db.person.find({})
{ "_id" : ObjectId("5ddaa14edbbac3c4f844366c"), "name" : "Larry", "age" : 18 }
>
4 Два отличных инструмента визуализации
В ходе предыдущих операций мы установили пользователей и попытались создать базы данных и коллекции. Но работать через командную строку всегда неудобно, для работы нужна программа визуализации. Ниже приведены два отличных программного обеспечения для визуализации, чтобы показать, как подключиться. Как выполнять CRUD и другие операции не будут представлены один за другим, но он относительно удобен и прост в использовании.
4.1 Robo3T
Создайте соединение:
Обратите внимание, что ниже приведена база данных аутентификации, а не база данных пользователя:
Интерфейс работы:
4.2 IDEA Mongo Plugin
Это подключаемый модуль, который поддерживает весь спектр программного обеспечения JetBrains, и, конечно же, можно установить IDEA.
Настройки соединения:
Обратите внимание на следующееUser DatabaseЭто БД под юзером.Если написано неправильно, то не подключится.
Обратите внимание на следующееAuth DatabaseБаза данных для аутентификации, по умолчаниюadmin.
Интерфейс работы:
Суммировать
В этой статье рассказывается об установке последней версии MongoDB через Docker и демонстрируется запуск и создание пользователей и коллекций на примерах. Наконец, в ней представлены два очень удобных инструмента визуализации. Я надеюсь, что люди, которые не сталкивались с этим, смогут получить начал.
Добро пожаловать на общедоступный номерТыква медленный разговор>, буду обновлять для вас...
Читайте больше, делитесь больше, пишите больше, организуйте больше.