平时瞎折腾之Docker
由于平时在学校学习和使用的数据库大多数都是使用的mysql,但是进入工作中时,由于不同的项目会使用到像Oracle,Sql Server这样的数据库操作。虽说sql的基础语法都差不多,但具体使用起来还是有很大的差异。于是就想着装个Oracle数据库学习一下,但是由于我之前把电脑换成了Mac,这就很让人头疼。之前的解决方法是使用parallels安装windows虚拟机,然后在虚拟机中安装对应的Oracle数据库。知道有一天我查看电脑的内存使用情况,虚拟机竟然占用了接近六七十G内存,电脑剩余内存好像只有二十多G了。而且使用Mac安装虚拟机这种方式使用Windows是否有点暴殄天物的意思,而且好像对Mac系统还有损害,于是马上决定卸载虚拟机,采用培训期间学习的Docker来安装对应Oracle。
第一步:安装Docker
第二步:下载并安装Oracle 11g
-
运行docker,搜索docker远程仓库的镜像
docker search docker-oracle-xe-11g
-
输入下载Oracle 11g的如下命令
docker pull deepdiver/docker-oracle-xe-11g
等待一段时间,等待下载完成
下载完成后,启动镜像为容器
docker run -h "oracle" --name "oracle" -d -p 49160:22 -p 49161:1521 -p 49162:8080 deepdiver/docker-oracle-xe-11g
-
进入容器并启动Oracle
- 查找对应的容器id
docker ps -all
其中,6f298ae12652是容器id,可使用docker ps -all 命令获得:
- 使用对应的容器ID进入容器
docker exec -it 6f298ae12652 /bin/bash
第二次进入容器时需要先启动停止了的容器,使用docker start 容器名称
第三步:使用Oracle数据库
进入容器后,输入
sqlplus system/oracle
命令登录:也可以使用
create user xiaorui identified by xiaorui;
来创建新的用户和密码给新建的用户授权
grant connect,resource to xiaorui;
使用
conn xiaorui
切换用户第四步:与SQL管理工具相连
- 使用
docker container ls
命令,查看端口情况
可以看到49160端口被映射到容器的22端口,49161被映射带容器的1521端口,49162端口被映射到8080端口。我们访问本机的49161端口即可在SQL管理工具访问。