docker镜像安装oracle

5a0bfd49d44555d877b1b0a6bff7387e.jpg

简介

debian中安装 docker,并且在 docker环境下使用 oracle

docker安装

https://docs.docker.com/engine/installation/#desktop
或者去 https://download.docker.com/linux/static/stable网址里面下载,下载完了解压到 /usr/bin/下面(或者解压到其他地方,然后将解压路径添加到 PATH里面)即可,在 ~/.zshrc中添加

alias docker="sudo docker" # 不想每次都输入sudo,也不想切换到root用户
# alias dockerd="sudo docker" # 在非root下面执行dockerd &可能不会生效

注意

如果你的根目录所在的分区空间不是特别大的话,我并不建议解压到 /usr/bin/下面。可以解压到其他位置(docker_path),将 docker_path添加到 PATH:

vi ~/.zshrc
# 或者打开
# vi ~/.bashrc
# 在~/.zshrc 或者~/.bashrc中添加下面语句
export $DOCKER_PATH="docker_path"
export $PATH=$PATH:$DOCKER_PATH

安装 启动oracle

  1. 安装启动
    • 标准版安装

       dockerd &
       docker pull sath89/oracle-12c  # 12c
       docker pull sath89/oracle-xe-11g # 11g
       docker pull chameleon82/oracle-xe-10g # 10g
       docker run -h "oracle12c" --name "oracle12c" -d -p 49160:22 -p 49161:1521 -p 49162:8080 \
       sath89/oracle-12c
       docker run -h "oracle11g" --name "oracle11g" -d -p 49163:22 -p 49164:1521 -p 49165:8080 \
       sath89/oracle-xe-11g
       docker run -h "oracle10g" --name "oracle10g" -d -p 49166:22 -p 49167:1521 -p 49168:8080 \
       chameleon82/oracle-xe-10g
      
    • 企业版安装
      下载企业版oracle,克隆项目https://github.com/oracle/docker-images 到本地,将oracle拷贝到在OracleDatabase/dockerfiles/<version>下面,执行

      sudo ./buildDockerImage.sh -v 12.2.0.1 -e
      docker run -h "oracle12c-ee" --name "oracle12c-ee" -d -p 49170:22 -p 49171:1521 \
      -p 49172:5500 -p 49173:8080 -e ORACLE_SID=orcl -e ORACLE_PDB=pdb -e ORACLE_PWD=zeekling \
      oracle/database:12.2.0.1-ee
      
      • 重新打开oracle容器
         docker restart oracle12c
      
      • tipdocker run是new 一个新的容器出来,名字是不能重复的
  2. 查看oracle启动日志
 docker logs -f oracle12c
  1. 进入镜像的bash
 docker exec -it oracle12c /bin/bash

默认登进去是 root用户,oracle安装在 oracle用户下面,所以进去是要切换用户的;切换用户时,默认不需要密码。
4. 查看docker容器ip

 docker inspect oracle12c  | grep IPAddress
  1. 连接数据库
    切换到oracle用户,在~/.bashrc里面添加
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/xe
export PATH=$PATH:$ORACLE_HOME/bin
export $ORACLE_SID=xe

这样就不用切换到 oraclebin目录下面执行 sqlplus / as sysdba

  1. 图形化界面安装和启动
    root用户下执行
curl -s https://shipyard-project.com/deploy | bash -s

在浏览器中打开http://127.0.0.1:8080,输入用户名/密码:admin/shipyard
再次启动 docker 时,图形界面会随着容器启动,不用用命令启动
可以将 https://shipyard-project.com/deploy中的脚本保存下来,下次安装的时候使用

curl https://shipyard-project.com/deploy > /usr/bin/dockerdeploy
# 下次执行下面语句
dockerd &
su root
dockerdeploy
  1. 安装oracle客户端
    http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
    下载oracle客户端,建议下载rpm包,在debian系列linux上可以转成deb包,下载下面几个包就行了
-rw-r--r-- 1 root root  42M Dec 14 22:22 oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 551K Dec 14 22:22 oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 1.5M Dec 14 22:22 oracle-instantclient12.2-jdbc_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 633K Dec 14 22:23 oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb
-rw-r--r-- 1 root root 795K Dec 14 23:17 oracle-instantclient12.2-tools_12.2.0.1.0-2_amd64.deb

安装完了之后在 ~/.zshrc或者 ~/.bashrc或者 /etc/profile(第三个需要重启电脑)中添加

# oracle
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH

/usr/lib/oracle/12.2/client64/下新建文件 tnsnames.ora添加

xe=
  (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 49161))
   )
   (CONNECT_DATA =
      (SERVICE_NAME = xe)
   )
  )

然后在终端中输入(需要新键用户等操作)

sqlplus eoda/foo@xe

就可以了

# 原创  oracle  csdn  linux 


标 题:《docker镜像安装oracle
作 者:zeekling
提 示:转载请注明文章转载自个人博客:小令童鞋

评论

取消