docker使用教程[二]oracle的安装使用

280 阅读3分钟

上回说到我们已经成功的安装了docker在我们的小破本上了,那么就可以开始我们的oracle 11g的安装了

第一步,打开aliyun的镜像服务找到一个镜像

https://cr.console.aliyun.com/cn-hangzhou/instances/images

可能需要自行登录,找到他的办法就是进入个人控制台

然后在打开的页面搜索想要的镜像,我这里使用的镜像地址为

registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

第二步,切到我们的cmd终端拉取镜像

可以看到很大,如果网速不佳的可能会停一会,但是不要担心已经下载的不会重新下载的

等到下载完毕,执行docker images查看镜像

可以看到我们的镜像已经被下载完毕,并且及其的大......在所难免

第三步,创建容器

命令为

docker run -d -p 1521:1521 --name oracle registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

这里解释下这条命令的构成

docker run 就是创建容器

而-d 参数是指后台运行容器,并返回容器ID;

-p 是将主机端口和容器端口映射

--name就是给容器起个名字

oracle后面代表的就是我们的镜像

执行后会给我们返回一个id,即我们的容器id

docker ps查看我们的容器运行状况,可以看到我们的容器已经开始运行

第四步,操作容器

首先介绍几个命令

#运行容器
docker start $容器名 or $容器id  #成功后返回容器名
#停止容器
docker stop $容器名 or $容器id   #同理
#删除容器
docker rm $容器名 or $容器id 

通过这几个命令可以完成对容器的创建,运行,停止,销毁操作

上面已经创建了一个容器oracle,那我们怎么进行oracle操作呢,怎么打开我们亲爱的Mr.Sqlplus呢

这里提供的思路是先进入容器系统在进行sqlplus的操作

这里使用的是exec进入容器,其他方式详见

Docker容器进入的4种方式

利用exec进入容器的具体命令为

docker exec -it oracle bash

运行完毕看到这个$是不是很激动

然后通过oracle用户进入

这里提一下为什么要用su - oracle 而不是 su oracle
因为su oracle 只改变用户而不改变环境变量,没有环境变量我们切用户的意义也就不存在了

登陆完毕之后执行

echo $ORACLE_HOME

发现用户变量存在

再执行

sqlplus / as sysdba

结果:

可以成功登陆执行sql语句了

至此,我们已经可以开始通过docker 练习oracle的一些操作了

但是,但是!操作到这里有可能很多朋友要说了

“每次都要敲这么多命令才能到达sqlplus的彼岸,这么多命令记都记不住~那要docker的意义在什么地方啊?”

为了解决很多这方面的疑惑,再加上有些天生对黑框框恐惧的同学,这里我使用了navicat for oracle 来解决这个问题。

首先第一步,下载一个navicat for oracle

https://www.navicat.com.cn/download/direct-download?product=navicat_ora_cs_x64.exe&location=2

这个软件不免费但是很好用,大家有条件的可以支持一下,没条件的可以私信我要破解版

第二步,安装完毕之后,新建连接

这里的连接名随意起一个

主机:0.0.0.0

端口:1521(跟我们之前的创建容器绑定的宿主端口有关)

SID:helowin 这里我的是这个,

你可以通过sqlplus运行sql语句进行查询

select instance_name from V$instance;

查询结果

用户名我们先查询一下有什么用户

select username from dba_users

然后再根据用户名改密码

alter user system identified by 123456;

操作完毕之后

点击确定连接,发现顺利连接上oracle

从此告别了黑框框,可以每天写数据甚至可以尝试一下删库了呢(删了之后再创建一个容器就可以)

但是我们有一些数据需要在容器被删除之后也要保存那该怎么办呢?下篇文章会帮你解决这个问题!