Docker安装运行oracle数据库步骤

Docker安装运行oracle数据库步骤

1、docker拉取oracle数据库镜像

# 搜索oracle镜像
[root@pihao ~]# docker search oracle --filter=STARS=17
NAME                              DESCRIPTION                                     STARS   
oraclelinux                       Official Docker builds of Oracle Linux.         652     
jaspeen/oracle-11g                Docker image for Oracle 11g database            159     
oracleinanutshell/oracle-xe-11g                                                   99
oracle/graalvm-ce                 GraalVM Community Edition Official Image        71     
truevoly/oracle-12c               Copy of sath89/oracle-12c image (https://git…   25
   

2、docker下载oracle镜像

# 我选择是第5镜像 truevoly/oracle-12c,这个镜像有点大,大概有5个多G,不过下载很快,大概5分钟
[root@pihao ~]# docker pull truevoly/oracle-12c
Using default tag: latest
latest: Pulling from truevoly/oracle-12c
a3ed95caeb02: Pull complete
778e440c7584: Pull complete
d85b3b18f9f8: Pull complete
dba3a843d373: Pull complete
.
.
# 查看刚才下载的oracle镜像
[root@pihao ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
truevoly/oracle-12c   latest              21789d4d876f        16 months ago       5.7GB

3、创建数据库挂载文件

将docker内的数据库文件同步到你的主机目录下,防止容器删除后数据库丢失

[root@pihao ~]# mkdir -p /var/local/ora_data
[root@pihao ~]# chmod -R 777 /var/local/ora_data/

4、启动镜像

[root@pihao ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
truevoly/oracle-12c   latest              21789d4d876f        16 months ago       5.7GB
# docker run 运行 -V:主机目录 容器内目录
[root@pihao ~]# docker run -d -p 2122:22 -p 9090:8080 -p 1521:1521 -v /var/local/ora_data:/u01/app/oracle/ --name oracle truevoly/oracle-12c
de4a43288724f36380a442a8c2ab56a36df2dd4c5b79266c4908575aacb3c590
[root@pihao ~]# 启动成功

5、查看启动日志

[root@pihao ~]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED               
6383227303cd        truevoly/oracle-12c   "/entrypoint.sh "        2 minutes ago         
# 耐心等待,第一次启动大概需要五六分钟   命令:docker logs -f 容器id
[root@pihao ~]# docker logs -f 6383227303cd
Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
3% complete
11% complete
18% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
Configuring Apex console
Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed
Starting web management console

PL/SQL procedure successfully completed.  
## 到这里看到上面的successfully 差不多就启动成功了

6、进入容器修改账号密码设置

# 查看运行的容器
[root@pihao ~]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED               
6383227303cd        truevoly/oracle-12c   "/entrypoint.sh "        2 minutes ago     
# 进入容器,修改配置
[root@pihao ~]# docker exec -it 6383227303cd /bin/bash
# 进入容器后,切换到oracle用户
root@6383227303cd:/# su oracle
# 进入sqlplus
oracle@6383227303cd:/$ $ORACLE_HOME/bin/sqlplus / as sysdba
# 设置密码有效期为无限制
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
# 解锁system用户
SQL> alter user SYSTEM account unlock
# exit 退出
# ctrl + p + q 退出容器(注意,不要exit退出,防止容器直接关闭了)

######################################################################

OK,现在oracle数据库已经启动完毕,oracle连接的信息如下:

hostname: docker所在宿主机的ip
port: 1521
username: system
password: oracle
sid: xe

7、测试连接

在这里插入图片描述
创建oracle用户和密码

create user name identified by 123456  # 创建一个账号为name,密码为123456的用户
grant dba to name; # 为这个用户赋予管理员的权限

最近也是初学docker,特意拿来练练手,希望能够帮助大家~~~

只要学不死,就往死里学!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值