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