mac m1使用docker安装oracle
mac m1使用docker安装oracle数据库
本学期开始学习数据库原理,老师课上讲到课堂作业使用的是oracle 11g,然而我去官网却发现只有Windows和Linux版本的,并没有发现macOS的安装方法。在网上了解到,可以利用docker来安装部署,故尝试。
一.docker安装
macOS目前主流的安装方法有两种,利用homebrew安装或者直接docker官网下载dmg文件安装。
1.homebrew安装
#安装homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#利用homebrew安装docker
brew cask install docker
2.官网下载
顾名思义,去下载安装就完事了。
二.docker换源
docker默认源在国外,在国内访问下载很慢,所以将其换为国内的源。
1.打开docker
在启动台中找到小鲸鱼图标的docker,并打开它。
2.顺手改一下资源分配
可根据自己的情况修改docker可分配资源。
3.换源
与网上绝大部分教程(讲Windows如何换源的)不同的是,macOS储存docker文件的路径在:
/Users/{YourUserName}/Library/Containers/com.docker.docker/Data
先在终端中cd打开该文件夹,然后使用vim打开daemon.json文件
cd /Users/{YourUserName}/Library/Containers/com.docker.docker/Data
vi daemon.json
在该文件中加入国内源的配置:
{
"registry-mirrors" : [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com",
"https://mirror.ccs.tencentyun.com"
]
}
然后:wq保存退出
最后重启docker
三.从镜像源中下载oracle镜像
在直接根据网上教程使用以下指令
docker pull alexeiled/docker-oracle-xe-11g
安装时,出现了以下错误,未找到或者未登陆。
所以在此又去注册了一个docker账号并登陆
然而在登陆后依旧无法使用上面那个指令拉取,于是再找方法。
1.搜索镜像
先使用指令搜素远程仓库中的Oracle镜像
sudo docker search docker-oracle-xe-11g
2.拉取镜像
选择一个star最多的镜像进行拉取
docker pull deepdiver/docker-oracle-xe-11g
3.拉取成功
静候下载,挺大的(2.7Gb)
四.启动镜像为容器
docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g
然而,又出现了警告:
我猜测出错的原因应该是苹果的m1芯片架构不同导致的,去网上寻找了多种解决方案后,发现了以下方法可行:
#在环境变量中设置默认使用linux/amd64平台
export DOCKER_DEFAULT_PLATFORM=linux/amd64
#重新启动镜像为容器(然后在此之前启动过并报了waring的,需要先将之前启动的容器删除
docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g
五.进入容器并建立连接
1.查看容器
docker ps
记下这个容器ID
2.进入容器
docker exec -it {容器ID} /bin/bash
3.进入Oracle
sqlplus system/oracle
然而,又出现了新的问题:连接不上。
在网上查阅资料后发现,依旧是m1芯片架构问题所导致的(oracle为啥不适配!!!)
解决方案如下:
利用Colima运行转译的虚拟机
#使用homebrew安装colima
brew install colima
#启动colima
colima start --arch x86_64 --memory 4
(此处我的docker崩溃了无法打开,在重装docker后使用原来的流程就可以正常操作了)
在解决问题后,成功打开了oracle数据库
4.创建用户授予权限
在上面出现的命令行中输入指令创建用户:
CREATE USER YS IDENTIFIED BY 123456;
#YS是用户名,123456是密码
授权:
GRANT CONNECT, RESOURCE, DBA TO YS;
#YS是用户名
六.后话
至此,在我的m1 macbook air上成功地部署了oracle。什么也不会开始看网络上的教程部署,干了半天,白天干到黑夜(后面终端都黑了),可以说,这是相当麻烦,由于架构问题导致了很多问题(oracle为什么不适配!!!)。
总之,最后终于是成功部署了,虽然进去之后两眼一抹黑,啥也不会操作,甚至找不到怎么关闭它……
mac m1使用docker安装oracle的更多相关文章
- mac系统用docker安装oracle数据库
oracle没有mac可用的版本,最好的办法是通过docker安装 一.下载docker 1.通过brew下载 brew cask install docker 2.手动下载(需要vpn) https ...
- Docker | Mac 通过 Docker 安装 Oracle
Docker | Mac 通过 Docker 安装 Oracle 前言: Oracle 10g 以后就不支持 Mac 版本,因此 Mac 用户需要安装的话可以通过虚拟机或者 Docker 1.在 do ...
- docker安装oracle
最近工作上面遇到一个性能相关的问题,大体描述一下: 批量任务执行的过程中导致数据库sql执行时间过长,查看之后是由于批量任务占满数据库连接池导致的,至于为什么批量任务会不受系统控制导致连接池占满就不说 ...
- docker 安装 oracle
docker 安装 oracle 部署链接:https://www.linuxidc.com/Linux/2017-03/141760.htm 本次使用docker安装oracle 1.搜索可使用的镜 ...
- 全网最全的linux上docker安装oracle的详细文档,遇到了n个问题,查了几十篇文章,最终汇总版,再有解决不了的,私聊我,我帮你解决
目录 全网最全的linux上docker安装oracle的详细文档,遇到了n个问题,查了几十篇文章,最终汇总版,再有解决不了的,私聊我,我帮你解决 1. 拉取阿里镜像oracle 2. 创建初始化数据 ...
- 使用Docker安装Oracle数据库
在很多时候,我们需要在本地安装Oracle数据库,但是整个安装的过程时间非常长而且安装文件大,那么有不有更好的办法来安装Oracle数据库既能减少安装的时间而且还能够快速进行部署呢?答案就是使用Doc ...
- Docker 安装Oracle
1.使用docker 命令搜索oracle 镜像,前提是已安装了Docker docker search oracle 2.下载相应版本的oracle 镜像 docker pull sath89/o ...
- ubuntu docker 安装 oracle
1.ubuntu 安装docker sudo apt-get update sudo apt-get docker.io 2.docker下载oracle镜像 sudo docker pull wna ...
- Win10系统使用Docker安装oracle并通过Navicat for oracle进行登录
一.安装Docker Linux系统可以直接采用命令进行Docker安装: Win7系统安装Dokcer实际通过Boot2Docker在Windows下安装一个VirtualBox来实现: Boot2 ...
- mac系统下docker安装配置mysql详细步骤
上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...
随机推荐
- js es6 delete
前言 首先delete 不同于nodejs delete,看下有什么不同. 正文 var test=5; delete test; console.log(test); 结果是test没有受到任何影响 ...
- python中的赋值、浅拷贝、深拷贝的区别
赋值: 可变类型:赋值前后id不会变,赋值后的数据会随源数据变化: 不可变类型:赋值前后id不会变,赋值后的数据不会随源数据变化: 浅拷贝(copy): 可变类型:copy前后id会变,可变类型中存储 ...
- 【Nano Framework ESP32篇】WS2812 彩色灯带实验
地球人皆知,许多物联网教程作者的心中都深爱着一灯大师,所以第一个例程总喜欢点灯,高级一点的会来个"一闪一闪亮晶晶".老周今天要扯的也是和灯有关的,但不单纯地点个灯,那样实在不好玩, ...
- 优化搜索排序结果从而“ 提升CTR、CVR业务指标”
简介: 搭建搜索功能不难,难的是如何提高搜索质量,帮助用户快速找到心中所想的内容或商品,那么搜索结果的相关性排序则是影响用户体验最关键的一环,本文通过阿里云开放搜索电商行业解决方案和大家聊一聊如何优化 ...
- 双11特刊 | 一文揭秘云数据库RDS如何顺滑应对流量洪峰
简介:从绿色低碳到硬核科技,看RDS如何用绿色科技助力2021"双11"? 双十一回顾 从平台到商家,再从物流到客户手中,云数据库RDS支撑着双11集团电商的在线业务.RDS首次 ...
- [Trading] 买卖如何移动 ( 影响 ) 市场价格
大多数人都知道市场价格的变化是因为买卖行为,但却没有多少人了解买卖行为是如何影响市场价格的. 乍一看,这可能令人困惑,因为每一笔市场交易都要求总有一个买家和一个卖家. 首先,重要的是要明白市场上总是有 ...
- [FAQ] uni-app 导航路由切换时如何强制刷新页面?
使用 this.$forceUpdate() 强制刷新页面. Refer:uni-app自定义导航 Link:https://www.cnblogs.com/farwish/p/13870801.ht ...
- 《Effective C++》第三版-1. 让自己习惯C++(Accustoming Yourself to C++)
目录 条款01:视C++为一个语言联邦(View C++ as a federation of languages) 条款02:尽量以const.enum.inline替换#define(Prefer ...
- 简说Python之循环语句
目录 Python的运算逻辑 Python条件语句 Python循环语句 Python while循环 Python for 循环 条件语句和循环语句是程序常用的一种基础语法,从语言上来说,能说清楚的 ...
- FE知识点(硕哥)
目录 前传: 1.typeof和类型转换 正文: 1.作用域.作用域链([[scope]]) 2.立即执行函数 3.闭包 4.对象.包装类 5.原型原型链 6.call.apply 7.继承模式.命名 ...