Docker CE 镜像源站
我所使用的阿里云直接看阿里云推荐文章
https://developer.aliyun.com/article/110806
其他云服务器可以查看菜鸟教程
https://www.runoob.com/docker/centos-docker-install.html
Docker 安装 MySQL
访问MySql镜像库地址:https://hub.docker.com/_/mysql?tab=tags
通过docker search mysql 查看docker中的可用版本
$ docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relati... 2529 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Crea... 161 [OK]
centurylink/mysql Image containing mysql. Optimized to be li... 45 [OK]
sameersbn/mysql 36 [OK]
google/mysql MySQL server for Google Compute Engine 16 [OK]
appcontainers/mysql Centos/Debian Based Customizable MySQL Con... 8 [OK]
marvambass/mysql MySQL Server based on Ubuntu 14.04 6 [OK]
drupaldocker/mysql MySQL for Drupal 2 [OK]
azukiapp/mysql Docker image to run MySQL by Azuki - http:... 2 [OK]
...
通过docker pull mysql:latest 拉取官方资源
# docker pull mysql:latest
latest: Pulling from library/mysql
6ec8c9369e08: Pull complete
177e5de89054: Pull complete
ab6ccb86eb40: Pull complete
e1ee78841235: Pull complete
09cd86ccee56: Pull complete
78bea0594a44: Pull complete
caf5f529ae89: Pull complete
cf0fc09f046d: Pull complete
4ccd5b05a8f6: Pull complete
76d29d8de5d4: Pull complete
8077a91f5d16: Pull complete
922753e827ec: Pull complete
docker images 查看已经安装
通过 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql 来运行mysql容器
- -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
mysql容器启动成功后输入 docker exec -it mysql bash 进入到docker容器
本机通过 mysql -u root -p 输入密码后访问mysql
使用navicat连接mysql时会出现2059的错误提示:
原因:
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决方法:
mysql -uroot -ppassword #登录
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码
FLUSH PRIVILEGES; #刷新权限
Docker安装Redis
访问 Redis 镜像库地址: https://hub.docker.com/_/redis?tab=tags
通过docker docker search redis查看可用版本
docker search redis
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
redis Redis is an open source key-value store that… 8451 [OK]
bitnami/redis Bitnami Redis Docker Image 157 [OK]
sameersbn/redis 80 [OK]
grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0 70
rediscommander/redis-commander Alpine image for redis-commander - Redis man… 45 [OK]
kubeguide/redis-master redis-master with "Hello World!" 32
redislabs/redis Clustered in-memory database engine compatib… 25
redislabs/redisearch Redis With the RedisSearch module pre-loaded… 23
oliver006/redis_exporter Prometheus Exporter for Redis Metrics. Supp… 22
arm32v7/redis Redis is an open source key-value store that… 21
....
使用docker pull redis:latest
使用docker images查看已经安装redis
安装完成后使用 docker run -itd --name redis -p 6379:6379 redis
成功启动redis后可以在docker ps查看到redis已启动
docker exec -it redis /bin/bash
redis-cli 成功进入redis
Docker安装MongoDB
访问 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1
通过docker docker search mongo查看可用版本
docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high avai… 7073 [OK]
mongo-express Web-based MongoDB admin interface, written w… 743 [OK]
tutum/mongodb MongoDB Docker image – listens in port 27017… 229 [OK]
bitnami/mongodb Bitnami MongoDB Docker Image 123 [OK]
mongoclient/mongoclient Official docker image for Mongoclient, featu… 85 [OK]
mongooseim/mongooseim Small docker image for MongooseIM - robust a… 19
frodenas/mongodb A Docker Image for MongoDB 18 [OK]
cvallance/mongo-k8s-sidecar Kubernetes side car to setup and maintain a … 16 [OK]
arm64v8/mongo MongoDB document databases provide high avai… 9
....
通过docker pull mongo:latest下载最新版本
docker images 查看是否安装mongo
docker run -itd --name mongo -p 27017:27017 mongo --auth 启动mongo并使用验证登录
$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 admin 的用户。
> db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', 'admin')
外部使用navicat for mongodb 连接mongo
验证处选择Password
数据库为刚才设置的db,用户名密码为之前设置的用户名密码。
测试连接成功。