前言
该文章特别适用于自我学习和小规模使用的个人开发者
文章保证提供保姆级操作步骤,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)相关推荐

  1. 【阿里云镜像】使用阿里云Docker CE 镜像安装Docker

    文章目录 一.参考链接 二.Docker CE简介 三.使用阿里云Docker CE镜像安装Docker 1.SSH连接CentOS 7系统 2.基于CentOS 7安装配置Docker(使用 yum ...

  2. 2020年12月国产数据库排行:榜首TiDB 2.7亿融资再破纪录;openGauss晋级十强!

    2020年12月国产数据库排行已发布,前6名无变化,GaussDB与TBase排位互换,GaussDB位于第7位,TBase位于第8位,GoldenDB与openGauss均前进一位,分别排行第九和第 ...

  3. 2017年12月全球数据库排名:SQL Server 跌势明显,刚获阿里投资的MariaDB表现良好

    程序猿(微信号:imkuqin) 猿妹 编译 来源:https://db-engines.com/en/ranking_trend DB-Engines 发布了 2017 年 12 月份的数据库排名. ...

  4. 刘强东:中国几千万穷人是富人耻辱!网友狂点赞;12月全球数据库排名出炉...

    (点击上方蓝字,快速关注我们) 参考:开源中国.solidot.cnBeta.腾讯科技等 0.刘强东:有人富到月赚十几亿很痛苦,贫困人口是富人耻辱 刘强东和马云这对商场上厮杀的对手,在扶贫的竞争上也是 ...

  5. 2022年12月国产数据库大事记-墨天轮

    本文为墨天轮技术社区整理的2022年12月国产数据库大事件和重要产品发布消息. 目录 12月国产数据库大事记(时间线) 产品/版本发布 兼容认证 排行榜新增数据库 厂商活动 相关资料 12月国产数据库 ...

  6. 2021年12月国产数据库排行榜: openGauss节节攀升拿下榜眼,GaussDB与TDSQL你争我夺各进一位

    2021年12月的国产数据库流行度排行榜已在墨天轮发布,本月共有189家数据库参与排名.为使国产数据库排名更加专业与客观,本月起,排行榜加入了三方评测.生态.专利数.论文数等新的指标.其中三方测评方面 ...

  7. 2021年12月国产数据库排行榜: openGauss节节攀升拿下榜眼,GaussDB与TDSQL你争我夺各进一位...

    点击蓝字 关注我们 2021年12月的国产数据库流行度排行榜已在墨天轮发布,本月共有189家数据库参与排名.为使国产数据库排名更加专业与客观,本月起,排行榜加入了三方评测.生态.专利数.论文数等新的指 ...

  8. 2019年12月Eclipse下载与安装

    2019年12月Eclipse下载与安装 eclipse是非常强大的java开发IDE,能非常方便的完成JDBC.javaWEB等开发. 重要事情说三遍. 一定要先下载安装并配置JDK 一定要先下载安 ...

  9. 奥鹏20年12月作业考核(C语言专科),《C语言(专科)》20年12月作业考核【答案100分】...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 <C语言(专科)>20年12月作业考核 共20道题 总分:100分 100分 咨询dddda98 咨询dddda98 咨询dddda98 单选 ...

最新文章

  1. 二叉链表和职工管理系统结合_基于二叉链表的二叉树实现
  2. 对图像数据最主要的预处理: Resize
  3. BZOJ2525 [Poi2011]Dynamite 【二分 + 贪心】
  4. xamarin使用mysql_[开源] .NetCore .NetFramework Xamarin 使用 ORM FreeSql 访问 MySql
  5. linux的mysql服务器密码忘了,怎么解决?
  6. 【模板】扩展中国剩余定理(EXCRT)
  7. 【Qt】Qt中信号与槽
  8. 记录第一次部署servlet实例
  9. 学习笔记(52):Python实战编程-Radiobutton
  10. html 按钮防止多次提交,HTML点击提交按钮两次
  11. mysql语句随机数_程序生成随机数与SQL语句生成随机数
  12. javascript的id、class、元素选择器
  13. 一步一步写算法(之单向链表)
  14. 刷脸即可解锁让iDevice取证不再难如登天
  15. 【蓝牙】什么?还不知道蓝牙协议栈开源了?
  16. 史陶比尔机器人的 LLI (Low Level Interface)
  17. WPS国际版2019 中文
  18. 通讯测试模拟软件,通讯测试工具之二——Modbus测试工具(Modbus Slave调试工具)-专业自动化论坛-中国工控网论坛...
  19. 手机连电脑热点,电脑连手机热点的ip分配问题
  20. 在Flutter的项目中AndroidX Compatibility(AndroidX兼容性)配置

热门文章

  1. 费列罗附属公司完成对金宝汤公司旗下凯尔森集团的收购
  2. USB Type-C学习点滴
  3. 微搭低代码自定义组件开发教程
  4. ENVI处理遥感教程及学习资料
  5. 设置基于Web的Guacamole(鳄鱼)工具以访问远程Linux / Windows计算机
  6. Centos安装Docker详细步骤,Debian安装Docker详细步骤
  7. 计算机怎么设置内存数据恢复,【实用方法】内存卡误删的文件怎么恢复?
  8. 【会声会影】初装会声会影时,必要的设置
  9. 苹果公开了其AI研究的第一个大图像数据集
  10. innodb事务的四大特性