一、Mac中Docker的部署
首先,你需要在Mac中部署Docker,也就是安装Docker。安装Docker分了两种途径,一种是通过terminal终端并下载相关依赖包进行安装,另一种是通过下载dmg格式的安装包直接对Docker进行安装。我推荐使用第二种方式来安装Docker,本片博文也是基于此种方式进行的讲解,希望各位熟知。
在成功安装完Docker桌面版之后,Docker会默认启动并默认开机启动,当你在菜单栏中发现Docker Desktop is running时,说明你的Docker桌面版已经安装成功了,我们进行接下来的操作。
二、通过Docker来安装Oracle11g
(1)Docker是一个容器,在容器内部存在很多镜像文件,通过具体的镜像文件可以运行具体的容器。要想在Docker中安装Oracle镜像,我们首先应该在Docker的远程仓库中进行搜索,因为Docker没有自带Oracle相关镜像,命令如下(根据你Mac的实际情况决定是否要加sudo):
sudo docker search docker-oracle-xe-11g
我们选择第一个STAR最多的一个镜像进行安装,拉取镜像命令如下:
docker pull deepdiver/docker-oracle-xe-11g
待镜像下载完毕之后,我们需要将该镜像转成容器并使用该容器,命令如下:
docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g
值得注意的就是将容器内部的1521端口映射到宿主机中的1521端口,这样一来就能在宿主机中通过Navicat等数据库可视化管理工具进行连接了。在这步完成之后,我们需要进到容器内部对已经安装的Oracle进行简单配置。
(2)在Oracle容器中简单配置你的Oracle数据库并通过Navicat进行连接
进入容器内部的命令如下:
sudo docker exec -it 你的容器Id(可通过docker ps命令获得) /bin/bash
通过sqlplus进入Oracle:
sqlplus system/oracle
依次进行如下操作:
查看数据库用户名和密码:
select username,password from dba_users;
当然,你可以通过已经存在的用户名和密码来登录数据库,推荐使用新创建的用户来进行数据库的登录,sql如下:
create user wolf(用户名) identified by password(密码)
创建完之后,可以通过如下sql进行验证:
select * from all_users;
在创建完新用户之后,需要对该用户进行授权,该用户具有什么权限都是通过自己指定的,这也是为什么推荐使用自定义用户登录数据库的原因,sql如下:
grant connect,resource to WOLF(这里需要将用户名大写,否则授权不成功)
connect表示具有连接数据库的权限;resource表示具有操作数据库的权限
至此,所有需要配置的数据库配置都已经配置完毕,可以通过Navicat进行连接了,如下图所示:
几个需要注意的地方:
主机就是localhost或127.0.0.1
端口为docker内部Oracle容器映射到宿主机的端口,上述命令有将,我的是映射到1521端口
选择服务名进行连接,并且该版本Oracle数据库的服务名为XE(唯一)
角色选择默认就行
用户名和密码就是我们在上述创建的用户名和密码
在配置完上述内容之后,点击连接测试,即可连接成功:
至此,所有的操作都已经完成了,赶快在你的Mac上使用Oracle吧!!
有任何不懂的地方欢迎评论提出,我会及时处理,多谢各位的关注与支持!!!