在Docker中安装配置Oracle12c并实现数据持久化
  • 选定镜像,并pull到系统中,一定要先配置加速,不然超级慢
eric@userver:~$ docker pull sath89/oracle-12c Using default tag: latest latest: Pulling from sath89/oracle-12c 863735b9fd15: Downloading 5.25MB/65.67MB 4fbaa2f403df: Download complete 44be94a95984: Download complete a3ed95caeb02: Download complete b8bc6e8767ee: Download complete c918da326197: Download complete 448e1619a038: Download complete faadd00cf98e: Downloading 2.625MB/2.768GB 94c8eec9fdf0: Download complete 58e66654f771: Downloading 1.3MB/4.437MB
  • 查看已经下载的镜像
eric@userver:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE sath89/oracle-12c latest 17cd1ab9d9a7 12 days ago 5.7GB hello-world latest f2a91732366c 4 weeks ago 1.85kB
  • 列出运行中的容器
#暂时没有运行中的 eric@userver:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
使用oracle12c创建容器
  • 方式一:创建端口并运行,这样每次退出数据不会保留
$ docker run -d -p 8080:8080 -p 1521:1521 sath89/oracle-12c
  • 方式二:用数据卷实现容器和数据的有效分离,实现数据持久化
$ docker run -d -p 8080:8080 -p 1521:1521 -v /local_dir:/data sath89/oracle-12c #参数 -d 后台运行容器,并返回容器ID ; -p 指定端口 , -v 指定数据卷位置
  • 数据卷的特点:
1、可以供多个容器访问,直接共享或者重用
2、独立于容器周期,不会在删除容器时删除其挂载的数据卷
3、数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含的数据这些数据会复制到新的容器中
4、可以直接对数据卷里的内容进行修改
  • 数据持久化
#启动 eric@userver:~$ docker run -d -p 8080:8080 -p 1521:1521 -v /home/eric/oradata:/u01/app/oracle sath89/oracle-12c 7485d22f2fd5c5d7023407d280fb68b0251841560c121bb2be5954954aa7a698 #查看运行容器 eric@userver:~$ docker ps CONTAINER ID IMAGE COMMAND 7485d22f2fd5 sath89/oracle-12c "/entrypoint.sh " #查看本地目录,发现有个oradata目录 #在该目录下新建测试文件 eric@userver:~/oradata$ sudo touch test.txt #查看容器中的内容是否新增 $ sudo docker exec 7485d22f2fd5 ls /u01/app/oracle ... test.txt ... #其实 本地卷中的数据和容器中是同步的
  • 删除容器,数据不会一同删除
$ docker stop 7485d22f2fd5 $ docker rm 7485d22f2fd5 $ ls oradata #数据依然存在 audit checkpoints diag oradata test.txt
  • 重新启动一个容器,挂载该数据卷
$ sudo docker run -it --name oracle2 -v /home/eric/oradata:/datatest sath89/oracle-12c
/home/eric/oradata 为本机目录 /datatest为docker的目录
#--name 指定一个名字,不指定会默认随机分配一串字符 $ sudo docker exec oracle2 ls /data_test $ docker exec oracle2 ls /data_test ... test.txt ... #可以同样看到数据
  • 运行该容器
eric@userver:~$ docker exec -it 7485d22f2fd5 /bin/bash root@7485d22f2fd5:/
连接oracle12c
--使用此镜像创建的oracle用户和密码: systme/oracle|sys/oracle hostname:localhost port: 1521 sid: xe service name: xe username: system password: oracle --sqlplus 连接: root@7485d22f2fd5:/# sqlplus system/oracle@//localhost:1521/xe SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 20 06:25:21 2017 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit PrSQL SQL> -- 修改密码有效期,由180天改成无限制 SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; Profile altered. SQL> -- 解锁用户 alter user SYSTEM account unlock
docker run -d -p 8080:8080 -p 1521:1521 -v /u01/app/oracle/oradata/12c:/u01/app/oracle sath89/oracle-12c
docker exec -it f412c945d07f /bin/bash

在Docker中安装配置Oracle12c并实现数据持久化的更多相关文章

  1. 在Docker中安装配置Oracle11g并实现数据持久化

    1.拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 镜像详情:https://dev.aliyun.com/ ...

  2. docker 中 安装配置 mysqlcluster(arm)

    1:创建两个docker container 这里我使用给指定 container ip的形式创建: 查看容器网络 docker network ls 创建一个新的bridge网络 docker ne ...

  3. Docker中安装配置Oracle数据库

    本文使用的OS是Ubuntu([16.04.1_server][1])[注:Ubuntu是安装在vmware虚拟机上的]. 其他的Oracle连接工具:[sqldeveloper-4.1.5.21.7 ...

  4. elk系列教程:docker中安装配置elk

    elasticSearch Docker安装elasticsearch: docker pull docker.io/elasticsearch:7.2.0 启动: docker run -p 920 ...

  5. docker微服务部署之:四、安装docker、docker中安装mysql和jdk1.8、手动构建镜像、部署项目

    docker微服务部署之:三,搭建Zuul微服务项目 1.Centos7安装Docker 详见:Centos7安装Docker 2.Docker中安装jdk1.8 详见:使用Docker构建jdk1. ...

  6. Windows和Centos下Docker的安装配置

    Windows和Centos下Docker的安装配置 windows环境下的安装(win10) 在Windows系统上需要利用toolbox来安装Docker,现在 Docker 有专门的 Win10 ...

  7. Docker容器安装配置SQLServer服务(Linux)

    一:前言 随着不断的对Docker容器的实践和学习,越来越觉得容器的强大,把 SQL Server 数据库服务放在docker容器中,比你自己在宿主服务器上面安装配置一个SQL Server服务器是要 ...

  8. Linux或Docker里安装minio / Docker中安装h5ai

    此文为单节点搭建操作 Linux中搭建minio 对象存储服务器 下载minio安装包 wget https://dl.minio.io/server/minio/release/linux-amd6 ...

  9. Eclipse中安装配置Tomcat

    Eclipse(4.4.x及以上)中安装配置Tomcat 以下配置说明全部针对免安装版本 基于tomcat的安装目录和运行目录是可以不同的,本文都会进行说明 首先简单介绍一下tomcat的目录结构,一 ...

随机推荐

  1. 打印流-PrintStream和PrintWriter

    概念: 打印流是输出信息最方便的类,注意包含PrintStream(字节打印流)和 PrintWriter(字符打印流).打印流提供了非常方便的打印功能,可以打印任何类型的数据信息,例如:小数,整数, ...

  2. MySQL Partition--分区基础

    ================================================================================= Mysql在5.1版本时增加对分区表 ...

  3. Singer 学习四 可视化数据操作工具

    knots 是一款基于electron 开发的可视化UI界面,我们可以此工具进行方便的数据处理,注意工具使用了 docker 运行,需要安装docker 下载地址   https://github.c ...

  4. 关于导出csv格式文件的身份证号、日期的处理

    EXCEL系统的单元格,默认格式是常规或数值格式下,数字超过10位即以科学计数法显示,对15位以后的数字用0填充. 在导入到Excel.导出csv文件时,对于身份证号自动变成科学计数法的地方,就要做一 ...

  5. oracle-srvctl-output

    ############################## [grid@rac01 ~]$ crsctl query crs administratorCRS Administrator List: ...

  6. FastAdmin 新年福袋进行中

    FastAdmin 新年福袋进行中 2019新年福袋活动正在进行中 https://www.fastadmin.net/act/20190101/springfestival.html

  7. ubuntu忘记登录密码解决方法

    1.重启系统,长按Shift键,直到出现下面菜单.选择recovery mode(恢复模式).2.接下来会进入如下界面,选择Drop to root shell prompt ,也就是获取root权限 ...

  8. STM32的SPI2操作Flash

    关于STM32F107的SPI标志 SPI_I2S_FLAG_BSY和SPI_I2S_FLAG_TXE的疑问  http://www.openedv.com/posts/list/23579.htm ...

  9. .NET设计模式 第二部分 创建型模式(2)—抽象工厂模式(Abstract Factory)

    抽象工厂模式(Abstract Factory) ——探索设计模式系列之三 Terrylee,2005年12月12日 概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作:同时由于需求的变 ...

  10. Go RPC返回值

    Go 语言RPC定义格式如下: func (t T) MethodName(argType T1, replyType T2) error 第一个参数是接收的参数,第二个参数是返回给客户端的参数,第二 ...