持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第26天,点击查看活动详情
📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程😜😜😜
擅长Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理。
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
摘要:为了方便大家使用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/](https://www.mysql.com/)
✨ 2.1 下载镜像
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已在可靠性、稳定性、数据一致性等获得了业内相对高的声誉。 官网:www.postgresql.org/
✨ 3.1 镜像下载
docker search postgres
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 官网: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
今天的文章Docker在Linux系统快速部署数据库大全分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/14155.html