- 下载镜像
copy | docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g |
- 启动容器
copy | 默认启动容器的方式 |
| docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g |
copy | 持久化启动的方式 |
| docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g |
- 查看运行状态
copy
- 容器内环境配置
copy | 1.进入容器 docker exec -it oracle11g bash |
| 2.切换到 root 用户 su root,密码为 helowin |
| 3.docker容器配置环境变量不是在 /etc/profile 中,容器启动不会走这个文件。 |
| 可以将环境变量的配置设置在 /home/oracle/.bashrc 文件下 |
| 4.编辑环境变量 vi /home/oracle/.bashrc,在文件最后加入以下命令 |
| export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 |
| export ORACLE_SID=helowin |
| export PATH=$ORACLE_HOME/bin:$PATH |
| :wq 保存并退出 |
| 5.然后使用 source /home/oracle/.bashrc 刷新环境变量,并使之生效 |
- 使用
sqlplus /nolog
进入oracle命令行
- 使用 “操作系统认证” 的方式,登录oracle
conn / as sysdba
,这个oracle镜像密码默认是helowin
。connected成功之后,即可用数据库软件尝试连接。
我是用数据库软件连接oracle时,用的system用户,密码应该默认是helowin,但是提示我密码不对,所以我手动修改了system的密码。
copy | sqlplus / as sysdba |
| alter user 用户名 account unlock; |
| alter user 用户名 identified by 密码; |
也有可能连不上是因为需要配置防火墙
防火墙要允许 1521 端口,外部的数据库管理工具才能连的上
copy | # 打开防火墙 |
| systemctl start firewalld |
| # 查询端口状态 |
| firewall-cmd --query-port=1521/tcp |
| # 永久性开放端口 |
| firewall-cmd --permanent --zone=public --add-port=1521/tcp |
| # 重启防火墙 |
| firewall-cmd --reload |
| firewall-cmd --query-port=1521/tcp |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了