docker容器安装oracle数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker容器安装oracle数据库相关的知识,希望对你有一定的参考价值。

参考技术A 1、docker search oracle[搜索docker云平台上的oracle的镜像]

2、docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g【拉取】

3、docker images

4、docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle -v /dockerOracleData:/dockerOracleData  registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g

5、docker ps

6、docker s

7、sqlplus / as sysdba

PS:docker容器常用命令

docker search xxx:搜索docker云平台相关的镜像

docker pull xxx:根据名称拉取docker云平台镜像

docker images:列出本地镜像 

    -a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)

    -digests:显示镜像的摘要信息

    -f:显示满足条件的镜像

    --format:指定返回值的模板文件

    --no-trunc:显示完整的镜像信息

    -q:只显示镜像ID

docker ps:列出容器

    -a:显示所有的容器,包括未运行的

    -f:根据条件过滤显示的内容

    --format:指定返回值的模板文件

    -l:显示最近创建的容器

    -n:列出最近创建的n个容器

    --no-trunc:不截断输出

    -q:静默模式,只显示容器编号

    -s:显示总的文件大小

docker start  :启动一个或多个已经被停止的容器

docker stop  :停止一个运行中的容器

docker restart  :重启容器

docker rm : 删除一个或多个容器。

    -f:通过 SIGKILL 信号强制删除一个运行中的容器

    -l:移除容器间的网络连接,而非容器本身

    -v:删除与容器关联的卷

centos7下容器安装oracle11g

1、docker 镜像拉取以及启动

  • docker hub拉取镜像

    docker pull jaspeen/oracle-11g
  • 创建宿主机oracle安装目录以及数据目录

    mkdir -p /server/oracle
    mkdir -p /server/dpdump
  • 下载 oracle 并存放于服务器中

    oracle 下载网址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

  • 解压缩并删除安装包

    压缩包放到/server/oracle目录

    [root@centos7 oracle]# ls
    linux.x64_11gR2_database_1of2  linux.x64_11gR2_database_2of2
    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip
    [root@centos7 oracle]# ls
    database
  • 启动 docker

    docker run -d -p 1521:1521 -v /server/oracle:/install -v /server/dpdump:/opt/oracle/dpdump --name=oracle11g jaspeen/oracle-11g
  • 查看启动状态:

    [root@centos7 oracle]# docker ps 
    CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                              NAMES
    c5e913b4e96b        jaspeen/oracle-11g   "/assets/entrypoin..."   3 days ago          Up 3 seconds        0.0.0.0:1521->1521/tcp, 8080/tcp   oracle11g2、自己的 docker 镜像制作

 

2、自己的 docker 镜像制作

  • 由于版权问题,拉取下来的 docker 镜像是不包含任何版本的 oracle 的

  • 故在启动 docker 后,需要创建一个自己的镜像以备使用

    [root@centos7 oracle]# docker commit oracle11g oracle11g-installed
    [root@centos7 oracle]# docker images
    REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
    oracle11g-installed            latest              4a55732efad1        3 days ago          2.83 GB
    docker.io/jaspeen/oracle-11g   latest              0c8711fe4f0f        4 years ago         281 MB

     

3、使用pl/sql连接oracle

  • 进入oracle容器

    docker exec -it 8164f1475ee5 /bin/bash
  • 修改oracle环境变量

    [root@8164f1475ee5 /]# cd etc
    [root@8164f1475ee5 etc]# vi profile
    #在最后增加
    
    export ORACLE_HOME=/opt/oracle/app/product/11.2.0/dbhome_1
    
    export ORACLE_SID=orcl
    
    export PATH=$ORACLE_HOME/bin:$PATH
    #保存离开 :wq
    
    [root@localhost ~] source /etc/profile    #使得修改生效
     
  • 登陆oracle账号

    [root@8164f1475ee5 /]# su - oracle
    Last login: Tue Jun  9 13:01:34 UTC 2020
    [oracle@8164f1475ee5 ~]$ sqlplus /nolog
    
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 9 13:15:18 2020
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    SQL> conn /as sysdba
    Connected.
    SQL> alter user system identified by system;
    
    User altered.
    
    SQL> alter user sys identified by sys;
    
    User altered.
    
    SQL> create user ETS identified by ETS;
    
    User created.
    
    SQL> grant connect,resource,dba to ETS;
    
    Grant succeeded.
    
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    [oracle@8164f1475ee5 ~]$ exit
    logout
    [root@8164f1475ee5 /]# 
     
  • 使用pl/sql连接

 

 

 

 

以上是关于docker容器安装oracle数据库的主要内容,如果未能解决你的问题,请参考以下文章

虚拟机Linux安装Oracle容器并实现局域网其他主机访问查询

在官方 Oracle 数据库 docker 容器中成为 root

#私藏项目实操分享#愚公系列2022年02月 Docker容器 Oracle的搭建

windows上使用docker安装oracle11g

centos7下容器安装oracle11g

阿里云服务器安装oracle11g——会用的到,建议收藏