ubuntu 20.04 LTS子系统Docker安装Oracle-xe-11g
1. 搜索oracle镜像
docker search oracle
2. 选择oracle-xe-11g的镜像下载
命令:docker pull oracleinanutshell/oracle-xe-11g
查看镜像列表命令:docker images
,查看是否包含此镜像
3. 从下载的镜像创建并启动容器,容器命名为oracle11-xe
docker run
不持久化命令:
docker run -d -p 1521:1521 --name oracle11-xe -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
docker run
持久化命令(容器卷挂载):
# 创建持久化容器卷 oracle-xe
docker volume create oracle-xe
# 查看docker卷
docker volume ls
# 卷路径
find -name oracle-xe
#默认位置 /var/lib/docker/volumes/oracle-xe
docker run -d --privieged -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true -v oracle-xe:/home/oracle/app/oracle/oradata --name oracle-xe oracleinanutshell/oracle-xe-11g
参数解释:
oracle-xe:/home/oracle/app/oracle/oradata
: docker容器卷挂载进行持久化操作
-e ORACLE_ALLOW_REMOTE=true
: 作用是开启远程连接
-d
:后台运行容器,并返回容器ID;
--privieged
:开启特权模式;
如果不想用容器卷挂载,可以将
oracle-xe:/home/oracle/app/oracle/oradata
替换成/home/oracle-xe/oradata:/home/oracle/app/oracle/oradata
,就可以同步数据到宿主机路径:/home/oracle-xe/oradata
上了
oracle-xe-11g默认服务、账号、密码
- 服务名:
XE
- 默认账户:
system
- 默认密码;
oracle
DockerHub官网:oracleinanutshell/oracle-xe-11g
5. 进入启动的oracle容器
命令:docker exec -it oracle11 bash
6. 用sqlplus登录oracle,至此,oracle11g安装成功!
# 进入容器
docker exec -it oracle11g bash
# 切换用户
su - oracle
# 第一种登录方式-无需密码
sqlplus / as sysdba
# 第二种登录方式-用户密码
sqlplus system/oracle(用户名/密码)
# 第三种登录方式-先登录再授权
sqlplus /nolog
conn sys/oracle as sysdba;
# 创建用户
create user [用户名] identified by [密码];
# 为用户授权(connect,resource,dba)
grant connect,resource,dba to [用户名];
navicat连接
注意这里的服务名:XE