在Docker中安装配置Oracle12c并实现数据持久化
来源:互联网 发布:济南百度快照优化公司 编辑:程序博客网 时间:2024/06/03 19:26
在Docker中安装配置Oracle12c并实现数据持久化
在ubuntu中按安装Docker Ce
在docker 中获取oracle镜像信息
$ docker search oracle
选定镜像,并pull到系统中,一定要先配置加速,不然超级慢
eric@userver:~$ docker pull sath89/oracle-12cUsing default tag: latestlatest: Pulling from sath89/oracle-12c863735b9fd15: Downloading 5.25MB/65.67MB4fbaa2f403df: Download complete 44be94a95984: Download complete a3ed95caeb02: Download complete b8bc6e8767ee: Download complete c918da326197: Download complete 448e1619a038: Download complete faadd00cf98e: Downloading 2.625MB/2.768GB94c8eec9fdf0: Download complete 58e66654f771: Downloading 1.3MB/4.437MB
查看已经下载的镜像
eric@userver:~$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEsath89/oracle-12c latest 17cd1ab9d9a7 12 days ago 5.7GBhello-world latest f2a91732366c 4 weeks ago 1.85kB
列出运行中的容器
#暂时没有运行中的eric@userver:~$ docker psCONTAINER 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-12c7485d22f2fd5c5d7023407d280fb68b0251841560c121bb2be5954954aa7a698#查看运行容器eric@userver:~$ docker psCONTAINER 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#--name 指定一个名字,不指定会默认随机分配一串字符$ sudo docker exec oracle2 ls /data_test$ docker exec oracle2 ls /data_test... test.txt ...#可以同样看到数据
运行该容器
eric@userver:~$ docker exec -it 7485d22f2fd5 /bin/bashroot@7485d22f2fd5:/
连接oracle12c
--使用此镜像创建的oracle用户和密码: systme/oracle|sys/oraclehostname:localhostport: 1521sid: xeservice name: xeusername: systempassword: oracle--sqlplus 连接:root@7485d22f2fd5:/# sqlplus system/oracle@//localhost:1521/xeSQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 20 06:25:21 2017Copyright (c) 1982, 2014, Oracle. All rights reserved.Connected to:Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit PrSQLSQL> -- 修改密码有效期,由180天改成无限制SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;Profile altered.SQL> -- 解锁用户alter user SYSTEM account unlock
阅读全文
0 0
- 在Docker中安装配置Oracle12c并实现数据持久化
- Docker 安装 Redis 并开启持久化
- 在iOS开发中如何实现数据持久化
- 如何把dmp文件导入oracle12c中,并在java中实现数据库的接连
- CentOS7中配置Docker的yum源并安装
- 在32位ubuntu中安装docker并启动容器
- Docker文件系统 及 持久化数据
- docker数据持久化与容器迁移
- Docker下的数据持久化操作
- 在ubuntu12中安装并配置jdk
- 在Centos中安装并配置phpMyAdmin
- maven安装并在eclipse中配置
- Docker安装(在Macbook中安装Docker)后配置阿里云加速器
- 【Unity】安装配置Python使用protobuf转换Excel表格数据并在unit中使用
- 在Karaf上实现数据持久化(OpenJPA)
- Docker 在CentOS 7中安装Docker
- 【redis】linux/windows下安装redis实现数据持久化
- Mac下安装docker 并配置caffe
- Eclipse 自动补全配置
- SQL Server decimal 和 numeric 区别
- SpringBoot入门-13(springboot配置使用YML)
- maven pom.xml简介
- 云上建站快速入门
- 在Docker中安装配置Oracle12c并实现数据持久化
- Sublime Text 3 调教你的私人利器(上)
- 【AI版狄仁杰】爱丁堡大学团队教AI识别犯罪剧中的罪犯,正确率达60%仍不及人类
- yaconf-配置管理扩展
- RabbitMQ入门(一)
- SPRING JPA 与 Hibernate JPA
- AbstractQueuedSynchronizer的实现分析(上)
- SQL 简介
- python中utils