在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. PowerDesigner学习 ---- 系列文章

    一.PowerDesigner概述(系统分析与建模) 二.项目和框架矩阵 三.企业架构模型 四.业务处理模型 五.概念数据模型(CDM生成LDM,PDM和OOM) 六.物理数据模型(PDM逆向工程) ...

  2. iuplua test failure

    prepared SW  Download from https://sourceforge.net/projects/iup zerobrane Step Write follwiing codes ...

  3. laravel ORM 模型关联 with () 用法

    关联时想对关联表数据筛选时:MySQL查询: SELECT * FROM A LEFT JOIN B ON A.B_id = B.id AND B.condition = $condition ORM ...

  4. Linux(CentOS7.0)下 C访问MySQL (转)

    按语:      最近项目在云服务器上 centos6.8,安装了mysql5.5.39 server和client,但C连接不知所措: 后在官网下载了 devel.share .share-comp ...

  5. cvsnt报错:Administrator: Switch to user failed due to configuration error. Contact your System Administrator

    在安装CVSNT一开始用Administrator登录时总是报[login aborted]Switch to user failed due to configuration error. Cont ...

  6. PxCook 像素大厨 标注切图,一起搞定!专注设计本质

    http://www.fancynode.com.cn/pxcook

  7. (转)Mac环境下svn的使用

    在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还 ...

  8. gpio模拟I2C,驱动pcf8574T

    一.pcf8574T介绍 查看pcf8574T的数据手册, A表示读或写,当A为1的时候表示读,当A为0的时候表示写.现把地址控制线,即A2.A1.A0全部接地,可以得到读控制指令为0x41,写控制指 ...

  9. ubuntu 17.10.1 安装 virtual box 增强工具

    ubuntu 17.10.1 安装 virtual box 增强工具遇到 “  Please install the gcc make perl packages from your distribu ...

  10. ToString()、Convert.ToString()、(string)、as string 的区别

    通常 object 到 string 有四种方式(假设有object obj):obj.ToString().Convert.ToString().(string)obj.obj as string. ...