Docker在Linux系统快速部署数据库大全

109 篇文章 155 订阅

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

前言

为了方便大家使用Oracle\MySQL\PG\Redis等数据库,邦德老师这里分享各种Docker容器镜像部署方式。

⛳️ 1.Docker部署Oracle

✨ 1.1 Oracle 10G环境(10.2.0.5)

#可以选择从阿里云下载
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205
镜像大概2.5G左右,解压后大约7.6G左右,所以请保留充足的空间
#从阿里云下载后可以tag成如下形式:
docker tag registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205 jemora10g:10205

#创建容器
docker run -itd --name jemora10205 -h jemora10g -p 3380:3389 \
-p 31521:1521  -p 312:22 \
--privileged=true \
jemora10g:10205 init

注意:hostname必须为jemora10g

#进入容器
[root@jeames ~]# docker exec -it jemora10205 bash

#启动数据库和监听
[root@jemora10205 /]# su - oracle
[oracle@jemora10205 ~]$ lsnrctl start
[oracle@jemora10205 ~]$ sqlplus / as sysdba
SYS@jem10g> startup
SYS@jem10g> select * from v$version;

#外部连接容器内的数据库
sqlplus sys/jem@192.168.1.54:31521/JEM10G AS SYSDBA
注意:此处访问宿主机端口为31521哈,容器内部是1521,端口映射,系统管理员密码为jem

在这里插入图片描述

✨ 1.2 Oracle 11G企业版环境(11.2.0.4)

#可以选择从阿里云下载
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora11g11204
镜像大概3.2G左右,解压后大约7.6G左右,所以请保留充足的空间

#从阿里云下载后可以tag成如下形式:
docker tag registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora11g11204 jemora11g:11204

#创建容器
docker run -itd --name jemora11204 -h jemora11204 \
--privileged=true -p 21521:1521 -p 222:22  -p 21158:1158 \
jemora11g:11204 init

#进入容器
[root@jeames ~]# docker exec -it jemora11204 bash

#启动数据库和监听
[root@jemora11204 /]# su - oracle
[oracle@jemora11204 ~]$ lsnrctl start
[oracle@jemora11204 ~]$ sqlplus / as sysdba
SYS@JEM11G2> startup
SYS@JEM11G2> select * from v$version;

#外部连接容器内的数据库
sqlplus sys/jem@192.168.1.54:21521/JEM11GR2 AS SYSDBA
注意:此处访问宿主机端口为21521哈,容器内部是1521,端口映射,系统管理员密码为jem

在这里插入图片描述

✨1.3 Oracle 12CR2环境(12.2.0.1)

#可以选择从阿里云下载
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora12c_12201
镜像大概2.5G左右,解压后大约7.6G左右,所以请保留充足的空间

#从阿里云下载后可以tag成如下形式:
docker tag registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora12c_12201 jemora12c:12201

#创建容器
docker run -itd --name jemora1221 -h jemora1221 \
--privileged=true -p 41521:1521 -p 422:22 -p 15500:5500 -p 15501:5501 \
jemora12c:12201 init

#进入容器
[root@jeames ~]# docker exec -it jemora1221 bash

#启动数据库和监听
[root@jemora1221 /]# su - oracle
[oracle@jemora1221 ~]$ lsnrctl start
[oracle@jemora1221 ~]$ sqlplus / as sysdba
SYS@jem> startup
SYS@jem> select * from v$version;

在这里插入图片描述

如何切换容器?

SQL> ALTER SESSION SET container=JEMPDB;
Session altered.
SYS@cdb1> show con_name
alter pluggable database all open;
alter pluggable database all close;

外部连接容器内的数据库
sqlplus sys/jem@192.168.1.54:41521/jem AS SYSDBA
注意:此处访问宿主机端口为41521哈,容器内部是1521,端口映射,系统管理员密码为jem

⛳️ 2.Docker部署MySQL

在这里插入图片描述

Mysql 社区版是开源的,所以你不需要支付额外的费用。
Mysql 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL 使用标准的 SQL 数据语言形式。
Mysql 可以允许于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
Mysql 对 PHP 有很好的支持,PHP 是目前最流行的 Web 开发语言。
MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为 8TB。
Mysql 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 Mysql 系统
官方网址:https://www.mysql.com/

✨ 2.1 下载镜像

https://hub.docker.com/ 中搜索mysql
[root@jeames ~]# docker pull mysql:5.7.30
[root@jeames ~]# docker pull mysql:8.0.20

✨ 2.2 安装部署

## 创建容器
mkdir -p /usr/local/mysql5730/
mkdir -p /usr/local/mysql8020/

docker run -d --name mysql5730 -h mysql5730 \
-p 3309:3306 \
-v /usr/local/mysql5730/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai \
mysql:5.7.30

docker run -d --name mysql8020 -h mysql8020 \
-p 3310:3306 \
-v /usr/local/mysql8020/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai \
mysql:8.0.20

##访问Mysql
--登陆容器
docker exec -it mysql5730 bash
mysql -uroot -proot
mysql> select user,host from mysql.user

--远程访问
mysql -uroot -proot -h192.168.59.220 -P3309

在这里插入图片描述

⛳️ 3.Docker部署postgreSQL

在这里插入图片描述

PostgreSQL是加州大学伯克利分校计算机系开发的,一个开源免费的关系式数据库管理系统,
经过长达15年以上的积极开发和不断改进,
PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内相对高的声誉。
官网:https://www.postgresql.org/

✨ 3.1 镜像下载

docker search postgres
https://hub.docker.com
[root@jeames ~]# docker pull postgres:13.2

✨ 3.2 安装部署

#白名单配置
cat << EOF > /tmp/pg_hba.conf
# TYPE  DATABASE    USER    ADDRESS       METHOD
local     all       all                    trust
host      all       all   127.0.0.1/32     trust
host      all       all    0.0.0.0/0        md5
host   replication  all    0.0.0.0/0        md5
local  replication  all                    trust
EOF

[root@jeames ~]# docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" 
[root@jeames ~]# docker cp /tmp/pg_hba.conf jempg132:/var/lib/postgresql/data/pg_hba.conf
[root@jeames ~]# docker start jempg132

【容器内登陆】
[root@centos7 ~]# docker exec -it jempg132 bash
root@jempg132:/# su - postgres
postgres@jempg132:~$ psql
postgres=# select version();
或者以下命令也可以
postgres@jempg133:~$ psql -U postgres -d postgres

【外部访问】
psql -U postgres -h 192.168.1.56 -p 54328 -d postgres

在这里插入图片描述

⛳️ 4.Docker部署Redis

在这里插入图片描述

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,
是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
Redis 官网:https://redis.io/

✨ 4.1 镜像下载

[root@jeames ~]# docker search redis
[root@jeames ~]# docker pull redis:6.2.2
[root@jeames ~]# docker pull redis

✨ 4.2 安装部署

docker run -di --name=redis -h redis -p 26379:6379 redis
docker update --restart=always redis   --开机自启动
docker ps -a  --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
docker rm -f redis

在这里插入图片描述

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT邦德

客户部署资料,步骤超详细

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值