1.拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
镜像大概有6.8G
查看镜像信息
docker images
2.创建容器
docker run -d -p 1521:1521 --name oracle_11g registry.aliyuncs.com/helowin/oracle_11g
3.进入控制台设置用户信息
docker exec -it oracle_11g bash
切换成root进行操作:su - root
输入密码helowin
4.设置oracle环境变量
vi /etc/profile
文件末尾添加:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=PATH
切换回oracle用户:su - oracle
5.修改sys、system用户密码
sqlplus /nolog
conn /as sysdba
alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
此处的oracle
就是你设置的密码
Ps:默认密码是:helowin
6.远程连接
远程连接提示ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
主要原因是service name 设置的并不是ORCL 导致
-
解决方案:
service name 改为 helowin
-
解决步骤:
- 进入docker 容器
docker exec -it oracle_11g bash
- 进入 tnsnames.ora所在的目录
cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin
- 查看 tnsnames.ora
vi tnsnames.ora
可以看到SERVICE_NAME = helowin
serviceName 改为helowin 或者这里改为orcl
- 进入docker 容器