在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. centos7.0之vsftpd随笔

    yum install vsftpd -f安装vsftpd软件 systemctl start vsftpd 默认ftp目录为/var/ftp/,该文件夹下有pub文件夹 iptables -F 防火 ...

  2. The key of real time embedded system

    对于实时嵌入式系统来说,最重要的是每一个进程所需时间的可检测性,可预测性.要不你的实时性是没有办法保证的.有些时候你对一些没有从事过嵌入式开发的人谈这个进程(TASK)设计是按8ms被调度一次,他们会 ...

  3. day 33 什么是线程? 两种创建方式. 守护线程. 锁. 死锁现象. 递归锁. GIL锁

    一.线程     1.进程:资源的分配单位    线程:cpu执行单位(实体) 2.线程的创建和销毁开销特别小 3.线程之间资源共享,共享的是同一个进程中的资源 4.线程之间不是隔离的 5.线程可不需 ...

  4. day 30 1.操作系统原理 2. Process 模块学习

    进程: 起源:进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念展开的.所以想要真正了解进程,必须事先了解操作 ...

  5. [转]JBoss7中domain、standalone模式介绍

    JBoss AS7 可实现为云做好准备的架构,并可使启动时间缩短十倍,提供更快的部署速度并降低内在的占用.JBoss Enterprise Application Platform 6 的核心是JBo ...

  6. css 如何实现图片等比例缩放

    在进行布局的时候,很多PM都要求图片等比例缩放,而且要求图片不失真,不变形,但是UI设计好了这个div的宽度又不能随意更改,而后台传过来的图片也不是等比例的图片,这就比较难受了,写成 width: 1 ...

  7. pri 知识点

    pri github:https://github.com/prijs/pri 添加路由后动态导入,使用的是 react-loadable:https://github.com/jamiebuilds ...

  8. 定时任务的N种解决方案

    1, java 有个延时任务接口 DelayQueue 实现这个接口可以做到延时队列 缺点:耗费资源,不持久(  java程序重启后丢失 ), 2. 基于spring 定时任务. 缺点:定时执行,不能 ...

  9. python装饰器学习笔记

    定义:本质上就是个函数,(装饰器其他函数)就是为了给其他函数添加附加功能 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 #-*-coding:utf-8-*- 1 imp ...

  10. Ubuntu Nginx Ruby, Rails Mysql 安装

    1. Nginx 安装 sudo apt-get install nginx 2. Ruby 安装 sudo apt-get install ruby 查看版本 ruby -v 3. Rails 安装 ...