[20年12月]Docker数据库镜像安装(MySQL、Redis、Oracle 12c、MS SQLServer、Postgres、MongoDB)
前言:
该文章特别适用于自我学习和小规模使用的个人开发者
文章保证提供保姆级操作步骤,Ctrl+C加Ctrl+V可用
但你最好了解Linux的基础知识和操作,最好懂一点Docker的语法命令
当然,你不知道我也会解释的哈哈哈哈哈哈
更新:2020-09-28[在虚拟机上全流程测试可用]
基于Docker的开发环境
Docker官方安装方式
推荐使用CentOS or Ubuntu
在CentOS7安装
移除系统中可能存在的Docker组件
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
安装yum工具
sudo yum install -y yum-utils
添加Docker官方仓库
sudo yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装Docker组件和服务
sudo yum install docker-ce docker-ce-cli containerd.io
启动Docker服务
sudo systemctl start docker
开机自启Docker服务
sudo systemctl enable docker
!!!卸载Docker
sudo yum remove docker-ce docker-ce-cli containerd.io
安装前环境准备及说明
以下按照顺序连续执行命令即可
创建映射目录环境
目录可自行更改
如有变动,请自行更改以下容器中使用的目录结构
sudo mkdir /lssudo chmod 777 /ls
代理镜像加速
国内镜像下载过慢,推荐在阿里云>容器服务中申请镜像加速地址
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://1hz07lr9.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reloadsudo systemctl restart docker
设置容器网络环境
为了方便容器互联,使用Docker网桥网络模式
docker network create ls_net
Docker最基本的常用命令
这些是最基本、最常用的Docker命令及参数,你应该熟练使用
- docker ps:查看运行中的容器
- docker ps -a:查看所有的容器
- docker start [容器名称或id]:启动容器
- docker restart [容器名称或id]:重启容器
- docekr stop [容器名称或id]:优雅地停止容器
- docker kill [容器名称或id]:强制停止容器
- docker exec -it [容器名称或id] bash:进入某个容器内部
- docker images:查看所有已经下载的容器镜像
- docker rm [容器名称或id]:删除容器
- docker rmi [容器镜像]:删除容器镜像
- docker inspect [容器/容器镜像/网络模式]:查看目标(容器/容器镜像/网络模式)详细信息
- docker logs [容器名称或id]:查看容器运行的日志
在Docker安装开发常用镜像
MySQL
MySQL8.0+
拉取最新镜像
docker pull mysql
创建MySQL的挂载目录
sudo mkdir -p /ls/mysql/{data,conf,mysql-files}
创建MySQL配置文件
touch /ls/mysql/conf/my.cnf
创建容器
注意修改[MYSQL_ROOT_PASSWORD]
docker run -p 3306:3306 --name mysql \
-v /ls/mysql/data:/var/lib/mysql \
-v /ls/mysql/conf:/etc/mysql \
-v /ls/mysql/mysql-files:/var/lib/mysql-files \
--network ls_net --network-alias mysql \
-e MYSQL_ROOT_PASSWORD=YOURPASSWORD \
-d --restart always mysql
Docker运行容器时常用参数说明
- -p 3306:3306:ip及端口映射 [宿主机ip地址及端口号]:[容器端口号]
- -name:容器名称,可用于替代容器ID,方便查找定位
- -v:容器目录映射挂载至宿主机
- –network:使用的网络模式
- –network-alias:在网络模式中使用的别名
- -d:容器中服务以守护态运行
- –restart always:Docker启动时,容器可自我运行
- -e:MySQL容器的自定义参数
设置MySQL外部可以访问
# 连接容器bash
docker exec -it mysql bash# -*-*-*-* mysql容器内 *-*-*-*-*
mysql -uroot -p
use mysql;
GRANT ALL ON *.* TO 'root'@'%';
# 自行修改 YOURPASSWORD
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'YOURPASSWORD';
flush privileges;# 退出mysql
exit# 按 ctrl+P 后 按 ctrl+Q 退出容器至宿主机# 重启mysql容器
docker restart mysql
MySQL5.7+
仅介绍说明5.7挂载目录和部署镜像差异
其他操作步骤同上
拉取最新镜像
docker pull mysql:5.7
创建MySQL的挂载目录
sudo mkdir -p /ls/mysql5.7/{data,conf,log}
创建容器
docker run -p 3307:3306 --name mysql5.7 \
-v /ls/mysql5.7/log:/var/log/mysql \
-v /ls/mysql5.7/data:/var/lib/mysql \
-v /ls/mysql5.7/conf:/etc/mysql \
--network ls_net --network-alias mysql5.7 \
-e MYSQL_ROOT_PASSWORD=YOURPASSWORD \
-d --restart always mysql:5.7
Redis
拉取镜像
docker pull redis
创建Redis的挂载目录
mkdir -p /ls/redis/{data,conf}
创建并编辑Redis配置文件
vim /ls/redis/conf/redis.conf# -*-*-*-* redis.conf *-*-*-*-*
# 开启持久化(将内存中的数据保存在磁盘上)
appendonly yes
# 设置访问密码
requirepass "YOURPASSWORD"
创建容器
docker run -p 6379:6379 --name redis --restart always \
-v /ls/redis/data:/data \
-v /ls/redis/conf/redis.conf:/etc/redis/redis.conf \
--network ls_net --network-alias reids \
-d redis redis-server /etc/redis/redis.conf
Oracle
拉取镜像
docker pull store/oracle/database-enterprise:12.2.0.1
创建Oracle 12c挂载目录
sudo mkdir -p /ls/oracle/data
chown -R 54321:54321 /ls/oracle/data
创建容器
docker run -d --name oracle -p 1521:1521 \
--network ls_net --network-alias oracle \
-e DB_SID=orcl --restart always \
-v /ls/oracle/data:/ORCL store/oracle/database-enterprise:12.2.0.1
修改sys密码并创建新用户
# 若刚执行创建容器命令,需要等候几分钟待容器创建完成
docker exec -it oracle bash -c "source /home/oracle/.bashrc; sqlplus /nolog"connect / as sysdba;
# sys密码为Oradoc_bd1# 修改系统用户密码
ALTER USER SYSTEM IDENTIFIED BY "123456";# 创建新用户 用户名lostsakura可以替换
CREATE USER C##lostsakura IDENTIFIED BY "YOURPASSWORD";
# 为新用户赋权
GRANT CREATE SESSION TO C##lostsakura;
GRANT CREATE TABLE TO C##lostsakura;
GRANT CREATE TABLESPACE TO C##lostsakura;
GRANT CREATE VIEW TO C##lostsakura;
MSSQL
拉取镜像
docker pull mcr.microsoft.com/mssql/server:2019-latest
创建容器
docker run --name mssql --restart always -d \
-p 1433:1433 --network ls_net --network-alias mssql \
-e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YOURSTRONGPASSWORD" \
mcr.microsoft.com/mssql/server:2019-latest
Postgre
拉取镜像
docker pull postgres
创建容器
# 用户名默认为 postgres
docker run -d -p 5432:5432 --name postgres \
-e POSTGRES_PASSWORD=YOURPASSWORD \
--network ls_net --network-alias postgres \
--restart always postgres
MongoDB
拉取镜像
docker pull mongo
创建容器
docker run --name mongo -p 27017:27017 \
--network ls_net --network-alias mongo \
-itd --restart always mongo --auth
配置用户信息
docker exec -it mongo mongo admin# 创建admin用户
db.createUser({ user:'admin',pwd:'YOURPASSWORD',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
其他实用容器,持续更新中…
[20年12月]Docker数据库镜像安装(MySQL、Redis、Oracle 12c、MS SQLServer、Postgres、MongoDB)相关推荐
- 【阿里云镜像】使用阿里云Docker CE 镜像安装Docker
文章目录 一.参考链接 二.Docker CE简介 三.使用阿里云Docker CE镜像安装Docker 1.SSH连接CentOS 7系统 2.基于CentOS 7安装配置Docker(使用 yum ...
- 2020年12月国产数据库排行:榜首TiDB 2.7亿融资再破纪录;openGauss晋级十强!
2020年12月国产数据库排行已发布,前6名无变化,GaussDB与TBase排位互换,GaussDB位于第7位,TBase位于第8位,GoldenDB与openGauss均前进一位,分别排行第九和第 ...
- 2017年12月全球数据库排名:SQL Server 跌势明显,刚获阿里投资的MariaDB表现良好
程序猿(微信号:imkuqin) 猿妹 编译 来源:https://db-engines.com/en/ranking_trend DB-Engines 发布了 2017 年 12 月份的数据库排名. ...
- 刘强东:中国几千万穷人是富人耻辱!网友狂点赞;12月全球数据库排名出炉...
(点击上方蓝字,快速关注我们) 参考:开源中国.solidot.cnBeta.腾讯科技等 0.刘强东:有人富到月赚十几亿很痛苦,贫困人口是富人耻辱 刘强东和马云这对商场上厮杀的对手,在扶贫的竞争上也是 ...
- 2022年12月国产数据库大事记-墨天轮
本文为墨天轮技术社区整理的2022年12月国产数据库大事件和重要产品发布消息. 目录 12月国产数据库大事记(时间线) 产品/版本发布 兼容认证 排行榜新增数据库 厂商活动 相关资料 12月国产数据库 ...
- 2021年12月国产数据库排行榜: openGauss节节攀升拿下榜眼,GaussDB与TDSQL你争我夺各进一位
2021年12月的国产数据库流行度排行榜已在墨天轮发布,本月共有189家数据库参与排名.为使国产数据库排名更加专业与客观,本月起,排行榜加入了三方评测.生态.专利数.论文数等新的指标.其中三方测评方面 ...
- 2021年12月国产数据库排行榜: openGauss节节攀升拿下榜眼,GaussDB与TDSQL你争我夺各进一位...
点击蓝字 关注我们 2021年12月的国产数据库流行度排行榜已在墨天轮发布,本月共有189家数据库参与排名.为使国产数据库排名更加专业与客观,本月起,排行榜加入了三方评测.生态.专利数.论文数等新的指 ...
- 2019年12月Eclipse下载与安装
2019年12月Eclipse下载与安装 eclipse是非常强大的java开发IDE,能非常方便的完成JDBC.javaWEB等开发. 重要事情说三遍. 一定要先下载安装并配置JDK 一定要先下载安 ...
- 奥鹏20年12月作业考核(C语言专科),《C语言(专科)》20年12月作业考核【答案100分】...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 <C语言(专科)>20年12月作业考核 共20道题 总分:100分 100分 咨询dddda98 咨询dddda98 咨询dddda98 单选 ...
最新文章
- 二叉链表和职工管理系统结合_基于二叉链表的二叉树实现
- 对图像数据最主要的预处理: Resize
- BZOJ2525 [Poi2011]Dynamite 【二分 + 贪心】
- xamarin使用mysql_[开源] .NetCore .NetFramework Xamarin 使用 ORM FreeSql 访问 MySql
- linux的mysql服务器密码忘了,怎么解决?
- 【模板】扩展中国剩余定理(EXCRT)
- 【Qt】Qt中信号与槽
- 记录第一次部署servlet实例
- 学习笔记(52):Python实战编程-Radiobutton
- html 按钮防止多次提交,HTML点击提交按钮两次
- mysql语句随机数_程序生成随机数与SQL语句生成随机数
- javascript的id、class、元素选择器
- 一步一步写算法(之单向链表)
- 刷脸即可解锁让iDevice取证不再难如登天
- 【蓝牙】什么?还不知道蓝牙协议栈开源了?
- 史陶比尔机器人的 LLI (Low Level Interface)
- WPS国际版2019 中文
- 通讯测试模拟软件,通讯测试工具之二——Modbus测试工具(Modbus Slave调试工具)-专业自动化论坛-中国工控网论坛...
- 手机连电脑热点,电脑连手机热点的ip分配问题
- 在Flutter的项目中AndroidX Compatibility(AndroidX兼容性)配置