oracle太大了,对于开发人员来说,在本机安装一个oracle代价不菲。
在docker环境中,我找了很久,发现wnameless/oracle-xe-11g 镜像还不错,很方便搭建起来。
但是也发现一个问题,挂载本地卷遇到了麻烦。一旦挂载,就无法登陆了。从官方的issues中发现,有一个fork版本解决了这个问题,记录一下。
创建docker-compose工作目录
1
2
3
4 1mkdir -p oracle/data
2cd oracle
3touch docker-compose.yml
4
配置docker-compose.yml
1
2
3
4
5
6
7
8
9
10 1version: '2'
2services:
3 oracle:
4 image: sath89/oracle-xe-11g
5 container_name: oracle
6 ports:
7 - 1521:1521
8 volumes:
9 - ./data:/u01/app/oracle
10
启动容器
1
2
3
4
5 1#启动oracle
2docker-compose up -d
3#关闭容器
4docker-compose kill
5
登录oracle
登录使用的参数:
1
2
3
4 1SID: xe
2username: system
3password: oracle
4
注意:修正一下,原文写错了用户名,不是admin,是system,sorry
进入后自行修改密码,创建用户等即可。
为什么要绑定本地卷
wnameless版本无法绑定本地卷的问题,会导致我们一旦重启容器或重建容器,我们在数据库中的所有操作、创建的表以及数据等等全部丢失了。
绑定了本地卷,可以让容器的数据持久化到本机。就酱。