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、安裝一些必要的系統(tǒng)工具:

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 后臺服務(wù):

systemctl start docker

PS:如果磁盤默認(rèn)空間不大,而/home文件夾下空間大,那最好將docker的存儲目錄變更到/home下:

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

systemctl disable docker
systemctl enable docker
#顯示結(jié)果
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 服務(wù) 重新進(jìn)行軟連接 以及進(jìn)行一次 daemon-reload

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


#5. docker pull 一個image 查看存放路徑是否準(zhǔn)確
驗證鏡像信息存放到了 /home/docker 目錄下

二、安裝oracle11g

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

已有鏡像oracle_11g.tar則導(dǎo)入,將鏡像文件oracle_11g.tar上傳到系統(tǒng)中(/home/oracle/),執(zhí)行導(dǎo)入命令:

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

1.1
臨時關(guān)閉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.進(jìn)入容器中:

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

輸入密碼helowin

  1. 編輯/etc/profile文件配置ORACLE環(huán)境變量
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
  1. 重啟配置文件服務(wù)
source /etc/profile
  1. 建立sqlplus軟連接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

7.1. 修改用戶權(quán)限,讓oracle有權(quán)限創(chuàng)建文件

chown -R oracle /home/data/
  1. 切換到oracle用戶,修改oracle的相關(guān)賬號密碼
su oracle

登錄sqlplus并修改sys、system用戶密碼(依次執(zhí)行如下命令:

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;

也可以創(chuàng)建新用戶>create user admin identified by admin;
并給用戶賦予權(quán)限>grant connect,resource,dba to admin;

經(jīng)過以上步驟,即可使用創(chuàng)建的賬號連接oracle數(shù)據(jù)庫了!

PS:遠(yuǎn)程數(shù)據(jù)庫的導(dǎo)出:

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

遠(yuǎn)程數(shù)據(jù)庫的導(dǎo)入:

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



三、安裝oracle12c

1.確認(rèn)自己的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.下載完成后,依次執(zhí)行如下命令:

#運行容器
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
#進(jìn)入容器內(nèi)部
docker exec -it oracle-12cR1-ee /bin/bash
#授權(quán)
chown -R oracle /home/data/
#登錄
sqlplus system/oracle@//localhost:1521/orcl
#接下來就和上面安裝11g的一樣了,比如修改system的密碼,創(chuàng)建一個帳密為admin/admin,且有dba權(quán)限的用戶:
alter user system identified by system;
create user admin identified by admin;
grant connect,resource,dba to admin;

測試連接(注意我映射的oracle的端口是1522):


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容