开始拉取oracle11g镜像
下载过程稍长,镜像大小6.8G(之前拉取过了,所以就不截图了)
#docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
下载完成后 查看镜像
# docker images
创建容器
# docker run -v /opt:/data -p 1521:1521 --name oracle11g -h demo --restart=always -d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
说明
-v(映射主机目录到容器内,把opt目录映射到容器根目录data下)
--name(容器名)
--restart=always(设置容器开机自启动)
-d(创建容器之后不自动进入容器)
进入容器
# docker exec -it oracle11g bash
切换到root 用户下
$ su root
密码:helowin
编辑profile文件配置ORACLE环境变量
# vi /etc/profile
在最后面添加如下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 #oracle路径
export ORACLE_SID=helowin #oracle启动数据库实例名
export PATH=$ORACLE_HOME/bin:$PATH #添加系统环境变量
立即生效
# source /etc/profile
创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到oracle 用户
这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效
# su - oracle
登录oracle
$ sqlplus /nolog
SQL> conn /as sysdba
修改sys、system密码
SQL> alter user system identified by system;
SQL> alter user sys identified by sys;
也可以创建用户 create user test identified by test;
并给用户赋予权限 grant connect,resource,dba to test;
修改oracle默认用户密码永不过期
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
SQL> exit
exit 是退休sql 软连接
查看监听是否成功启动
$ lsnrctl status
查看监听配置文件
$ cat /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora# Generated by Oracle configuration tools.LISTENER_HELOWIN = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))HELOWIN = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = helowin) ) )
连接oracle数据库时,先检查端口映射是否成功
打开Windows的doc窗口输入一下内容
telnet ip地址 端口号
参考博客
Docker拉取oracle11g镜像配置
https://blog.csdn.net/qq_38380025/article/details/80647620