CentOS7使用docker安装Oracle

一、安装docker

1、移除旧版本:

yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /usr/local/docker
rm -rf /etc/docker

2、安装一些必要的系统工具:

yum -y install yum-utils device-mapper-persistent-data lvm2

3、添加软件源信息:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、更新 yum 缓存:

yum makecache fast

查看版本列表
yum list docker-ce --showduplicates|sort -r

5、安装 Docker-ce:

安装最新版的docker:
yum -y install docker-ce

安装指定版本的docker
yum -y install docker-ce-18.06.3.ce-3.el7

6、启动 Docker 后台服务:

systemctl start docker

PS:如果磁盘默认空间不大,而/home文件夹下空间大,那最好将docker的存储目录变更到/home下:

cd /home
mkdir docker
#1. 修改docker的systemd的 docker.service的配置文件
#不知道 配置文件在哪里可以使用systemd 命令显示一下.

systemctl disable docker
systemctl enable docker
#显示结果
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
#2. 修改docker.service文件.

vim /usr/lib/systemd/system/docker.service
#3. 在里面的EXECStart的后面增加后如下:

ExecStart=/usr/bin/dockerd --graph /home/docker
#4. 重新enable 一下docker 服务 重新进行软连接 以及进行一次 daemon-reload

systemctl disable docker
systemctl enable docker
systemctl daemon-reload
systemctl start docker
7. 查看docker info 信息


#5. docker pull 一个image 查看存放路径是否准确
验证镜像信息存放到了 /home/docker 目录下

二、安装oracle11g

  1. 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

已有镜像oracle_11g.tar则导入,将镜像文件oracle_11g.tar上传到系统中(/home/oracle/),执行导入命令:

docker load --input /home/oracle/oracle_11g.tar

1.1
临时关闭selinux然后再打开(解决docker挂载的目录无法读写)

setenforce 0
  1. 启动oracle
docker run -d -p 1521:1521 -v /home/data/oracle:/home/data/oracle --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

3.进入容器中:

docker exec -it oracle11 /bin/bash
  1. 切换到root用户模式下
su root

输入密码helowin

  1. 编辑/etc/profile文件配置ORACLE环境变量
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
  1. 重启配置文件服务
source /etc/profile
  1. 建立sqlplus软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

7.1. 修改用户权限,让oracle有权限创建文件

chown -R oracle /home/data/
  1. 切换到oracle用户,修改oracle的相关账号密码
su oracle

登录sqlplus并修改sys、system用户密码(依次执行如下命令:

sqlplus /nolog

然后

conn /as sysdba

然后

alter user system identified by system;

然后

alter user sys identified by system;

然后

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

也可以创建新用户>create user admin identified by admin;
并给用户赋予权限>grant connect,resource,dba to admin;

经过以上步骤,即可使用创建的账号连接oracle数据库了!

PS:远程数据库的导出:

exp USER_XXX/{password}@192.168.1.111:1521/helowin file=/home/data/bigdata_xxx.dmp owner=USER_XXX

远程数据库的导入:

imp USER_XXX/{password} file=/home/data/bigdata_xxx.dmp full=y



三、安装oracle12c

1.确认自己的docker源是安装阿里的docker源,下面是我的docker源

命令:
cat /etc/docker/daemon.json

{
  "registry-mirrors": ["https://gdyp3kvs.mirror.aliyuncs.com"]
}

如果不是这个源,改一下并重启docker。

  1. 查看dockers能下载的镜像
docker search oracle
INDEX       NAME                                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/oraclelinux                           Official Docker builds of Oracle Linux.         651       [OK]       
docker.io   docker.io/jaspeen/oracle-11g                    Docker image for Oracle 11g database            159                  [OK]
docker.io   docker.io/oracleinanutshell/oracle-xe-11g                                                       97                   
docker.io   docker.io/oracle/graalvm-ce                     GraalVM Community Edition Official Image        70                   [OK]
docker.io   docker.io/absolutapps/oracle-12c-ee             Oracle 12c EE image with web management co...   38                   
docker.io   docker.io/araczkowski/oracle-apex-ords          Oracle Express Edition 11g Release 2 on Ub...   30                   [OK]
docker.io   docker.io/oracle/nosql                          Oracle NoSQL on a Docker Image with Oracle...   24                   [OK]
docker.io   docker.io/wnameless/oracle-xe-11g-r2            Oracle Express Edition 11g Release 2 on Ub...   21                   
docker.io   docker.io/datagrip/oracle                       Oracle 11.2 & 12.1.0.2-se2 & 11.2.0.2-xe        19                   [OK]
docker.io   docker.io/truevoly/oracle-12c                   Copy of sath89/oracle-12c image (https://g...   17                   
docker.io   docker.io/oracle/weblogic-kubernetes-operator   Docker images containing the Oracle WebLog...   12                   
docker.io   docker.io/openweb/oracle-tomcat                 A fork off of Official tomcat image with O...   8                    [OK]
docker.io   docker.io/iamseth/oracledb_exporter             A Prometheus exporter for Oracle modeled a...   3                    
docker.io   docker.io/18fgsa/oracle-client                  Hosted version of the Oracle Container Ima...   2                    
docker.io   docker.io/oracle/coherence-operator             Kubernetes Operator for Oracle Coherence        2                    
docker.io   docker.io/paulosalgado/oracle-java8-ubuntu-16   Oracle Java 8 on Ubuntu 16.04 LTS.              2                    [OK]
docker.io   docker.io/softwareplant/oracle                  oracle db                                       2                    [OK]
docker.io   docker.io/publicisworldwide/oracle-core         This is the core image based on Oracle Lin...   1                    [OK]
docker.io   docker.io/roboxes/oracle7                       A generic Oracle Linux 7 base image.            1                    
docker.io   docker.io/amd64/oraclelinux                     Official Docker builds of Oracle Linux.         0                    
docker.io   docker.io/arm64v8/oraclelinux                   Official Docker builds of Oracle Linux.         0                    
docker.io   docker.io/bitnami/oraclelinux-extras            Oracle Linux base images                        0                    [OK]
docker.io   docker.io/bitnami/oraclelinux-runtimes          Oracle Linux runtime-optimized images           0                    [OK]
docker.io   docker.io/pivotaldata/oracle7-test              Oracle Enterprise Linux (OEL) image for GP...   0                    
docker.io   docker.io/toolsmiths/oracle7-test

我下载的是其中的 docker.io/absolutapps/oracle-12c-ee

docker pull absolutapps/oracle-12c-ee

3.下载完成后,依次执行如下命令:

#运行容器
docker run -d -p 8180:8080 -p 1522:1521 -v /home/data/oracle12c:/home/data/oracle --name oracle-12cR1-ee --privileged absolutapps/oracle-12c-ee
#容器开启时间很长,需要打开日志查看安装情况,此条命令会卡很久,看个人机器配置,我卡了20分钟。
docker logs -f oracle-12cR1-ee
#进入容器内部
docker exec -it oracle-12cR1-ee /bin/bash
#授权
chown -R oracle /home/data/
#登录
sqlplus system/oracle@//localhost:1521/orcl
#接下来就和上面安装11g的一样了,比如修改system的密码,创建一个帐密为admin/admin,且有dba权限的用户:
alter user system identified by system;
create user admin identified by admin;
grant connect,resource,dba to admin;

测试连接(注意我映射的oracle的端口是1522):


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,496评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,187评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,091评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,458评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,542评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,802评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,945评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,709评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,158评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,502评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,637评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,300评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,911评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,744评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,982评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,344评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,500评论 2 348

推荐阅读更多精彩内容