实训鼓励学习oracle,有文章中说到oracle只在oracle 10时出了mac版并且现在还找不到了,所以决定使用docker安装,安装过程中参考了很多文章并遇到了很多问题,在这里记录一下下载oracle的方法和踩过的坑
本文使用的系统和软件版本:
mac版本: MacOS Catalina 10.15.3
docker版本: 19.03.8
Oracle版本: oracle 11g
navicat版本: 12.0.22
docker version
命令查看docker版本Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:21:11 2020
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:16 2020
OS/Arch: linux/amd64
Experimental: true
containerd:
Version: v1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
出现docker版本信息代表安装成功
docker search docker-oracle-xe-11g
命令,搜索远程仓库的镜像docker pull deepdiver/docker-oracle-xe-11g
这里有两个需要注意的点⚠️
1、很多现有教程上使用的Oracle简版alexeiled/docker-oracle-xe-11g,我在使用docker自带镜像下载时会出现找不到的错误,在这种情况下可以换一个下载,比如换成我使用的这个deepdiver/docker-oracle-xe-11g.
神奇的是,当我今天使用阿里云的镜像下载时,却可以成功下载alexeiled/docker-oracle-xe-11g,由于尝试使用阿里云下载它的操作和之前的操作不在同一天,所以不清楚是镜像的原因还是这两天又被更新上了(猜测是由于镜像不同的原因)
2、在我第一次尝试下载alexeiled/docker-oracle-xe-11g时,它报出的错误是
pull access denied for alexeiled/docker-oracle-xe-11g, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
也就是在提示错误原因是仓库找不到或者没有登录,有很多人在使用docker进行不同的操作时都遇到了这个问题,所以还是登录排除一下为妙,登录的命令为docker login
,之后按照提示输入用户名或密码
注意⚠️,在此时我还遇到了一个问题,每次输入完成后均会报错(确认用户名和密码是正确的),提示框显示无可用的钥匙串,终端会输出Error saving credentials: error storing credentials - err: exit status 1
解决方法:输入命令rm /usr/local/bin/docker-credential-osxkeychain
,我是用的这个命令解决的,还有一些其他的解决方式,但是试了几个,最终有效的是这个(这个错误好像是出现在新版本的docker上,老版本一般没有这个问题)
Status: Downloaded newer image for deepdiver/docker-oracle-xe-11g:latest
sudo docker images
查看下载的镜像hyperledger/fabric-javaenv x86_64-1.0.0 8948126f0935 2 years ago 1.42GB
hyperledger/fabric-ccenv x86_64-1.0.0 7182c260a5ca 2 years ago 1.29GB
deepdiver/docker-oracle-xe-11g latest 396b3e06a5dc 4 years ago 2.7GB
最后一行出现了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已经下载安装完成
命令行操作起来毕竟不是很方便,所以建议选择一个图形化界面,我选择的是navicat
docker start oracle
docker stop oracle
参考文章:
https://www.jianshu.com/p/b867263995b5
https://blog.csdn.net/weixin_43163261/article/details/95333100
https://www.cnblogs.com/wanghaokun/p/11181655.html
https://www.jianshu.com/p/b985e3c948c5