1.docker search oracle 查找oracle

1
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

创建本地数据映射目录

1
mkdir -p -m 755 /Users/lin/Projects/data/oracle_home/oracle_data/{app,dpdump,oraInventory}

2.然后把它跑起来

1
docker run -d -p 1521:1521 --name oracle_11g   -v  /Users/lin/Projects/data/oracle_home/oracle_data/app:/opt/oracle/app     -v  /Users/lin/Projects/data/oracle_home/oracle_data/dpdump:/opt/oracle/dpdump  -v  /Users/lin/Projects/data/oracle_home/oracle_data/oraInventory:/opt/oracle/oraInventory   registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

3.接着进入容器里

1
[root@localhost ~]# docker exec -it oracle_11g bash

4.这个时候sqlplus命令 是不可以用的,需要配置一下环境变量,输入密码helowin

1
2
[oracle@9e98c99229c8 /]$ su root
Password:

5.vi /etc/profile 并在文件最后添加如下命令

1
2
3
4
5
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:$PATH

6.使变量生效,接着切换为 oracle用户就可以正常使用了

1
2
3
4
5
6
7
8
source /etc/profile
[root@9e98c99229c8 /]# vi /etc/profile
[root@9e98c99229c8 /]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
[root@9e98c99229c8 /]# su - oracle
[oracle@9e98c99229c8 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Tue Apr 16 17:08:25 2019

Copyright (c) 1982, 2009, Oracle. All rights reserved.

7.登录sqlplus并修改sys、system用户密码

1
2
3
4
5
6
7
8
9
10
11
12
13
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;

exit 退出。

8.查看一下oracle实例状态

1
lsnrctl status

9.连接测试一把,服务名要填写helowin. 密码:oracle 大功告成

10.提交修改下次直接启动这个容器即可

docker commit 容器名称或ID 新的镜像名称:版本