07. docker 下安装 mongoDB/postgres

安装 mongoDB

下载 mongo 4 最新版本

1
docker pull mongo:4
1
2
3
4
5
docker run -itd \
--name my_mongo \
-p 27017:27017 mongo:4 \
--auth \
--bind_ip_all

-it 表示交互
-d 表示后台运行
–name 取个名字
-p 指定一个端口映射
–auth:需要密码才能访问容器服务。

Docker exec 命令允许您在 Docker 容器中运行命令。 下面的命令行将在 mongo 容器中为您提供一个 bash shell:

1
docker exec -it my_mongo bash

服务器日志可以通过 Docker 的容器日志获得:

1
docker logs some-mongo

如何开启 mongodb 的容器的远程连接

进入容器内部,然后修改 /etc/mongod.conf.orig 配置文件

1
2
3
4
5
# 更新源 & 安装 vim
apt-get update && apt-get install vim

# 修改 mongo 配置文件
vim /etc/mongod.conf.orig

注释掉 # bindIp: 127.0.0.1 或者改成 bindIp: 0.0.0.0 即可开启远程连接

接着使用以下命令添加用户和设置密码,并且尝试连接。

1
2
3
4
5
6
7
8
# 连接 admin 这个 db
docker exec -it my_mongo mongo admin

# 创建一个名为 zhangsan,密码为 222333 的用户。
db.createUser({ user:'zhangsan',pwd:'222333',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});

# 尝试使用上面创建的用户信息进行连接。
db.auth('zhangsan', '222333')

通过 robo 3T 已经可以外网访问了。

安装 pgpostgres

启动实例

1
2
3
docker run --name some-postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-d postgres

The default postgres user and database are created in the entrypoint with initdb.

The postgres database is a default database meant for use by users, utilities and third party applications.

postgresql.org/docs

参考

数据库篇丨MySQL 8.0 设置远程访问权限(最佳实践)!!!_「IT大飞说」的博客-CSDN博客_mysql8 开启远程连接
https://blog.csdn.net/xinpengfei521/article/details/80403965

Docker 安装 MySQL | 菜鸟教程
https://www.runoob.com/docker/docker-install-mysql.html

Docker 安装 MongoDB
https://www.runoob.com/docker/docker-install-mongodb.html

Postgres - Official Image | Docker Hub
https://hub.docker.com/_/postgres