docker 下安装 mysql / mongoDB / postgres

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 安装 mysql 5.7docker pull mysql:5.7docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=feitangfei mysql:5.7# 5.7的这个版本竟然 -u 和 -p 之间不能加空格,我也是醉了docker exec -it mysql-test mysql -uroot -pfeitangfei 安装 mysql 8.0.18docker pull mysql:8.0.18如果是此句, 则是拉取最新版本 $ docker pull mysql:latest

安装 mysql 5.7



docker pull mysql:5.7
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=feitangfei mysql:5.7
# 5.7的这个版本竟然 -u 和 -p 之间不能加空格,我也是醉了
docker exec -it mysql-test mysql -uroot -pfeitangfei


安装 mysql 8.0.18


docker pull mysql:8.0.18


如果是此句, 则是拉取最新版本 $ docker pull mysql:latest


查看对应IMAGE ID 为 ed1ffcb5eff3

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               8.0.18              ed1ffcb5eff3        6 months ago        456MB


docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 ed1ffcb5eff3


进入 CONTAINER ID 然后加载 bash

docker exec -it mysql-test bash


或者一步到位

docker exec -it mysql-test mysql -uroot -p123456


mysql 设置远程登录



  1. 登录 mysql 账号


  1. 修改 root 用户登录地址


  1. 修改 root 用户密码加密方式


mysql -uroot -p123456
use mysql;
-- 查询当前数据库相关信息
select host,user,authentication_string,plugin from user;
-- 若不存在 `root@%`  将root用户设置为所有地址可登录,原来是localhost表示只用本机可登录
UPDATE USER SET host = '%' WHERE user = 'root';
-- 并刷新权限
flush privileges;
--将用户root密码设置为永不过期
mysql> alter user 'root'@'%' identified by '123456' password expire never;
Query OK, 0 rows affected (0.01 sec)
--将root用户密码加密方式改为mysql_native_password ,上面查到root用户密码的加密方式为caching_sha2_password 
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.00 sec)
--刷新权限,在别的机器上即可登录
mysql> flush privileges;


-- 可以添加远程登录用户
CREATE USER 'xiaobudian'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'xiaobudian'@'%';


现在可以任意客户端尝试登录

mysql  -uroot -p123456 -h 117.xxx.xx.xx


117.xxx.xx.xx 为对应你的 IP 地址


安装 mongoDB



下载 mongo 4 最新版本

docker pull mongo:4

docker run -itd \
--name my_mongo \
-p 27017:27017 mongo:4 \
--auth \
--bind_ip_all


-it 表示交互


-d 表示后台运行


--name 取个名字


-p 指定一个端口映射


--auth:需要密码才能访问容器服务。


mongo:4 --auth --bind_ip_all 则是mongo的一些参数


The docker exec command allows you to run commands inside a Docker container. The following command line will give you a bash shell inside your mongo container:

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

docker exec -it my_mongo bash


The MongoDB Server log is available through Docker's container log:

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

$ docker logs some-mongo


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


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

# 更新源 & 安装 vim
apt-get update && apt-get install vim
# 修改 mongo 配置文件
vim /etc/mongod.conf.orig


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


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

# 连接 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 已经可以外网访问了.


image.png


安装 pg



start a postgres instance

$ 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


参考



数据库篇丨MySQL8.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


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
20天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
214 79
|
7天前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
54 25
|
7天前
|
安全 数据安全/隐私保护 Docker
docker私有仓库harbor安装
通过以上步骤,您可以成功在企业内部安装和配置Harbor私有仓库,方便地管理和分发Docker镜像。Harbor不仅提供了基础的镜像管理功能,还增强了安全性、身份管理和审计功能,使其成为企业级容器镜像管理的理想选择。
53 22
|
1天前
|
关系型数据库 MySQL Docker
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
|
14天前
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
94 16
|
14天前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
23天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
92 14
|
20天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
77 7
|
1月前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
72 15
|
1月前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板