提供版本:
Docker version 18.09.6、Centos7
1.docker 搜索 oracle 镜像
docker search oracle
2.docker拉取oracleinanutshell/oracle-xe-11g镜像
docker pull oracleinanutshell/oracle-xe-11g
3.查看拉取的oracleinanutshell/oracle-xe-11g镜像
docker images
4.根据oracleinanutshell/oracle-xe-11g镜像 创建容器
docker run -d --name myoracle11g -v /docker/oracle/oracle_data:/data/oracle_date -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true --shm-size=1g --restart=always oracleinanutshell/oracle-xe-11g
参数说明:
1 --name:给容器起别名 。
2 --shm-size=1g:设置/dev/shm的大小。格式为:。number必须大于0。unit可选,可以是b,k,m或g。如果不指定unit,系统默认使用字节。如果此参数不指定,默认使用64m。
3 --restart=always --restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。--restart的参数说明 always:无论容器的退出代码是什么,Docker都会自动重启该容器。on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,该参数还接受一个可选的重启次数参数,--restart=on-fialure:5表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。(注意:这里如果不限定该重启策略,那么每一次重启电脑后都要手动通过docker start命令来重启当前容器)
4 ORACLE_PWD用于设置当前Oracle数据库密码。
5 -p:映射主机端口
6 -d:后台运行
7 -e: 设置环境变量 -e ORACLE_ALLOW_REMOTE=true 设置允许远程连接运行docker ps可以看到names为myoracle11g的容器正在运行
8 -v: 容器内部目录与宿主机目录挂载
5.查看启动的容器
docker ps
6.远程连接镜像信息
- 连接类型:Basic
- 主机地址:ip
- 端口:49161
- DIS:xe
- 用户名:system
- 密码:oracle
7.创建新的用户并分配权限
#7.1进入容器
docker exec -it 6fe62cdc687e /bin/bash
#7.2使用普通身份登入
sqlplus system/oracle
#7.3查看用户
select username,password from dba_users;
#7.4创建用户:用户名为 oracle;密码为:oracle
create user oracle identified by oracle;
# 查看是否有此用户 oracle
select * from all_users;
#7.5给用户赋予connect 和 resource 角色(connect: 保证数据库可以链接;resource:该用户可以使用数据库的资源;create session:会话的权利)
grant connect,resource,create session to oracle;
#7.6创建表格添加,更改用户表空间配额
grant unlimited tablespace to oracle;
# 7.7 删除用户
drop user oracle;
#删除此用户名下的所有表和视图
drop user gwl cascade;
#7.8 退出
exit;
参考: https://blog.csdn.net/weixin_36001063/article/details/91598532
https://www.jianshu.com/p/27a36d83fc10
https://www.cnblogs.com/zy-king-karl/p/11739001.html