赞
踩
使用Docker安装Oracle 12c
假设你的服务器已成功安装Docker,继续进行以下操作:
1. 启动Docker
[root@node01 ~]# service docker start
2. 从远程仓库搜索oracle image
[root@node01 ~]# 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 457 [OK]
docker.io docker.io/oraclelinux Oracle Linux is an open-source operating s... 347 [OK]
docker.io docker.io/alexeiled/docker-oracle-xe-11g This is a working (hopefully) Oracle XE 11... 208 [OK]
docker.io docker.io/sath89/oracle-12c Oracle Standard Edition 12c Release 1 with... 141 [OK]
docker.io docker.io/sath89/oracle-xe-11g Oracle xe 11g with database files mount su... 99 [OK]
docker.io docker.io/isuper/java-oracle This repository contains all java releases... 56 [OK]
docker.io docker.io/jaspeen/oracle-11g Docker image for Oracle 11g database 39 [OK]
docker.io docker.io/oracle/oraclelinux Oracle Linux is an open-source operating s... 37 [OK]
docker.io docker.io/ingensi/oracle-jdk Official Oracle JDK installed on centos. 20 [OK]
docker.io docker.io/oracle/openjdk Docker images containing OpenJDK Oracle Linux 20 [OK]
docker.io docker.io/cogniteev/oracle-java Oracle JDK 6, 7, 8, and 9 based on Ubuntu ... 19 [OK]
docker.io docker.io/airdock/oracle-jdk Docker Image for Oracle Java SDK (8 and 7)... 18 [OK]
docker.io docker.io/oracle/glassfish GlassFish Java EE Application Server on Or... 15 [OK]
docker.io docker.io/n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Check tags for ver... 13 [OK]
docker.io docker.io/oracle/nosql Oracle NoSQL on a Docker Image with Oracle... 10 [OK]
docker.io docker.io/andreptb/oracle-java Debian Jessie based image with Oracle JDK ... 8 [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/davidcaste/debian-oracle-java Oracle Java 8 (and 7) over Debian Jessie 3 [OK]
docker.io docker.io/jtech/oracle-jdk A Docker image based on the smallest Linux... 3 [OK]
docker.io docker.io/sgrio/java-oracle Docker images of Java 7/8 provided by Orac... 3 [OK]
docker.io docker.io/clincase/oracle clincase oracle db server image 1 [OK]
docker.io docker.io/publicisworldwide/oracle-core This is the core image based on Oracle Lin... 1 [OK]
docker.io docker.io/expertsystems/oracle-jdk8 CentOS based base image with Oracle JDK 8 0 [OK]
远程仓库中有很多oracle image,本次我们选择Oracle-12c
3. 从远程仓库获取oracle-12c image
[root@node01 ~]# docker pull sath89/oracle-12c
Using default tag: latest
Trying to pull repository docker.io/sath89/oracle-12c ...
latest: Pulling from docker.io/sath89/oracle-12c
863735b9fd15: Pull complete
4fbaa2f403df: Pull complete
44be94a95984: Pull complete
a3ed95caeb02: Pull complete
b8bc6e8767ee: Pull complete
c918da326197: Pull complete
448e1619a038: Pull complete
faadd00cf98e: Pull complete
48a252b66251: Pull complete
0be1ba285f23: Pull complete
Digest: sha256:0d075905ca2243f0c60397e49eaae6edd62afcce43528df77768f346ece7c49b
4. 查看下载好的image
[root@node01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/sath89/oracle-12c latest 7508a4d8d54f 13 days ago 5.703 GB
docker images : 列出本地镜像。
5. 使用刚刚下载下来的oracle 12c image创建一个container,并运行其中的oracle数据库。命令执行成功会返回一个container id
[root@node01 ~]# docker run -d -p 9090:8080 -p 1521:1521 -v /mnt/bd/data/oracle:/u01/app/oracle sath89/oracle-12c
c5a4400ae7d2586c3bec039685e1a8046c998cb2223bef7b3c71b01f2fa1204e
docker run :创建一个新的容器并运行一个命令。-d: 后台运行容器,并返回容器ID;-p:主机与容器的端口映射(主机ip:容器ip);-v:主机与容器的目录映射。
6. 查看container日志
[root@node01 ~]# docker logs -f c5a4400ae7d2586c3bec039685e1a8046c998cb2223bef7b3c71b01f2fa1204e
Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% 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! ;)
7. 查看container状态
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c5a4400ae7d2 sath89/oracle-12c "/entrypoint.sh " 9 minutes ago Up 9 minutes 0.0.0.0:1521->1521/tcp, 0.0.0.0:9090->8080/tcp silly_thompson
8.进入刚刚创建的container中
[root@node01 ~]# docker exec -it c5a4400ae7d2 /bin/bash
root@c5a4400ae7d2:/# su oracle
oracle@c5a4400ae7d2:/$ $ORACLE_HOME/bin/sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Mon Jun 19 10:26:59 2017
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
SQL> conn system/oracle as sysdba;
Connected.
docker exec :在运行的容器中执行命令。-i :即使没有附加也保持STDIN 打开;-t :分配一个伪终端。
9.Connect database with following setting:
hostname: localhost
port: 1521
sid: xe
service name: xe.oracle.docker
username: system
password: oracle
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。