工作中需要频繁使用 Oracle http://www.linuxidc.com/topicnews.aspx?tid=12 环境, 但是每次搭建起来比较消耗时间, 本想通过虚拟机模板的方式来快速安装 oracle vm, 但是每次改 ip 等环境也很耗时, 因此想到 docker 中有没有已经做好的 images, 这样就能快速获得 Oracle 环境.
root@- rac1:docker search oracle
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/wnameless/oracle-xe-11g Oracle Express 11g R2 on Ubuntu 16.04 LTS 417 [OK]
docker.io docker.io/oraclelinux Oracle Linux is an open-source operating s... 304 [OK]
docker.io docker.io/alexeiled/docker-oracle-xe-11g This is a working (hopefully) Oracle XE 11... 203 [OK]
docker.io docker.io/sath89/oracle-12c Oracle Standard Edition 12c Release 1 with... 112 [OK]
docker.io docker.io/sath89/oracle-xe-11g Oracle xe 11g with database files mount su... 91 [OK]
- docker.io docker.io/isuper/java-oracle This repository contains all java releases... 52 [OK]
- docker.io docker.io/jaspeen/oracle-11g Docker image for Oracle 11g database 38 [OK]
docker.io docker.io/oracle/oraclelinux Oracle Linux is an open-source operating s... 34 [OK]
docker.io docker.io/ingensi/oracle-jdk Official Oracle JDK installed on CentOS. 20 [OK]
docker.io docker.io/airdock/oracle-jdk Docker Image for Oracle Java SDK (8 and 7)... 16 [OK]
docker.io docker.io/oracle/openjdk Docker images containing OpenJDK Oracle Linux 15 [OK]
docker.io docker.io/cogniteev/oracle-java Oracle JDK 6, 7, 8, and 9 based on Ubuntu ... 12 [OK]
docker.io docker.io/n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Check tags for ver... 12 [OK]
docker.io docker.io/andreptb/oracle-java Debian Jessie based image with Oracle JDK ... 8 [OK]
docker.io docker.io/oracle/glassfish GlassFish Java EE Application Server on Or... 8 [OK]
docker.io docker.io/oracle/nosql Oracle NoSQL on a Docker Image with Oracle... 7 [OK]
docker.io docker.io/infogene/oracle Image for running Oracle Database 11g Stan... 6 [OK]
docker.io docker.io/openweb/oracle-tomcat A fork off of Official tomcat image with O... 5 [OK]
docker.io docker.io/flurdy/oracle-java7 Base image containing Oracle's Java 7 JDK 4 [OK]
docker.io docker.io/jtech/oracle-jdk A Docker image based on the smallest Linux... 3 [OK]
docker.io docker.io/davidcaste/debian-oracle-java Oracle Java 8 (and 7) over Debian Jessie 2 [OK]
docker.io docker.io/kaluzki/oracle kaluzki/oracle 2 [OK]
docker.io docker.io/clincase/oracle clincase oracle db server image 1 [OK]
docker.io docker.io/jckrz/debian-oracle-jdk Vanilla Debian + Oracle JDK 1 [OK]
docker.io docker.io/publicisworldwide/oracle-core This is the core image based on Oracle Lin... 1 [OK]
可以看到有很多版本, 11g,12c
这里选择获取 12c 版本
- root@- rac1:/home/# docker pull sath89/oracle-12c
- Using default tag: latest
latest: Pulling from sath89/oracle-12c
- 863735b9fd15: Pull complete
- 4fbaa2f403df: Pull complete
- faadd00cf98e: Downloading [=======> ] 394.8 MB/2.768 GB
- 829e2e754405: Download complete
- root@- rac1:/home/# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/sath89/oracle-12c latest b8bf52883bc7 5 weeks ago 5.692 GB
使用刚刚下载下来的 12g image 创建一个 container, 并运行其上的 oracle 数据库
- docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle sath89/oracle-12c
- [root@-rac1 ~]# docker logs -f ffbeb07058449672c640ddb4e59b8376dae2e3b4dd54142871da7adbc069ee79
- ls: cannot access /u01/app/oracle/oradata: No such file or directory
Database not initialized. Initializing database.
- Starting tnslsnr
- Copying database files
- 1% complete
- 37% complete
Creating and starting Oracle instance
- 40% complete
- 45% complete
- 62% complete
- Completing Database Creation
- 66% complete
- 100% complete
- Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
- Configuring Apex console
- Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed
- Starting web management console
PL/SQL procedure successfully completed.
- Starting import from '/docker-entrypoint-initdb.d':
- found file /docker-entrypoint-initdb.d//docker-entrypoint-initdb.d/*
- [IMPORT] /entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
- Import finished
- Database ready to use. Enjoy! ;)
到这里 Oracle 实例就已经启动好了
可以看到创建的 container 已经在运行中
- [root@-rac1 ~]~$ docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 9e893d773494 sath89/oracle-12c "/entrypoint.sh" 15 minutes ago Up 15 minutes 0.0.0.0:1521->1521/tcp, 0.0.0.0:8080->8080/tcp clever_chandrasekhar
进入 oracle container
- [root@-rac1 ~]~$ docker exec -it 9e893d773494 /bin/bash
- root@9e893d773494:/# su oracle
- oracle@9e893d773494:~$ $ORACLE_HOME/bin/sqlplus / as sysdba
- SQL*Plus: Release 12.1.0.2.0 Production on Fri Feb 24 03:03:00 2017
Copyright (c) 1982, 2014, Oracle. All rights reserved.
SQL>
Oracle 使用的实例名, 用户名, 密码如下
- ---------------------------------------------
- hostname: localhost
- port: 1521
- sid: xe
- username: system
- password: oracle
- ---------------------------------------------
接下来就可以快速使用 Oracle12C 了
更多 Docker 相关教程见以下内容:
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm https://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04 安装 Docker http://www.linuxidc.com/linux/2014-08/105656.htm https://www.linuxidc.com/linux/2014-08/105656.htm
Ubuntu 使用 VNC 运行基于 Docker 的桌面系统 http://www.linuxidc.com/Linux/2015-08/121170.htm https://www.linuxidc.com/Linux/2015-08/121170.htm
64 位 CentOS 下安装与启动 Docker http://www.linuxidc.com/Linux/2017-03/141714.htm https://www.linuxidc.com/Linux/2017-03/141714.htm
Ubuntu 15.04 下安装 Docker http://www.linuxidc.com/Linux/2015-07/120444.htm https://www.linuxidc.com/Linux/2015-07/120444.htm
在 Ubuntu Trusty 14.04 (LTS) (64-bit) 安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm https://www.linuxidc.com/Linux/2014-10/108184.htm
在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm https://www.linuxidc.com/Linux/2015-09/122885.htm
Ubuntu 16.04 上 Docker 使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm https://www.linuxidc.com/Linux/2016-12/138490.htm
Docker 的详细介绍: 请点这里 https://www.linuxidc.com/Linux/2013-10/91050.htm
Docker 的下载地址: 请点这里 https://www.linuxidc.com/down.aspx?id=1020
来源: http://www.bubuko.com/infodetail-2629472.html