环境
2G 内存,60G 硬盘阿里云一台(带宽 1M), 配置如下图:
软件:docker
官方文档 https://docs.docker.com/engine/installation/linux/docker-ce/centos/
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo $ sudo yum-config-manager --enable docker-ce-edge $ sudo yum-config-manager --enable docker-ce-test $ sudo yum-config-manager --disable docker-ce-edge $ sudo yum install docker-ce $ sudo systemctl start docker
配置镜像加速
$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://3e722983.m.daocloud.io $ systemctl restart docker
相关 link
docker 镜像站:https://store.docker.com
视频教程:https://asciinema.org/a/45878(oracle 12c)
步骤
1: 在镜像站搜索 oracle, 第一页有两个(12c 和 11g) ,12c 太大了,要 3 个 G 且下载时间太长,我下载的是 11g
shell:docker pull wnameless/oracle-xe-11g
可以下载旧版:docker pull wnameless/oracle-xe-11g:14.04.4
2: 运行镜像文件
shell:docker run -d -p 49160:22 -p 49161:1521 wnameless/oracle-xe-11g
映射了两个端口出来。
镜像网站上说:Run this, if you want the database to be connected remotely:(远程连接)
得加-e ORACLE_ALLOW_REMOTE=true
3: 查看这个镜像运行 log
shell:docker logs -f b97da5ba40541b28b05c4b799761f77aa6284f842ef696c16926bbc14a0d2627
4: 进入容器
Login by SSH : ssh root@localhost -p 49160
密码: admin
5: 切换用户, 连接 oracle
shell: su oracle
shell: cd $ORACLE_HOME
shell: bin/sqlplus / as sysdba
6: 测试 sql
7: 新建用户
shell:create user test identified by 123456
shell: grant dba to test;
(如果报错网络错误,关闭防火墙即可systemctl stop firewalld.service)
8: 新建表空间
shell:create tablespace TEST datafile '/u01/app/oracle/test/test.dbf' size 100M;
shell:create user TEST identified by TEST123 default tablespace TEST;
如果这个 TEST 用户在其他表空间已存请先删除
shell:drop user TEST cascade
然后给连接,dba 权限
shell:grant connect,resource to TEST;
shell:grant dba to TEST;
参考:https://hacpai.com/article/1492914187689