当前位置: 首页 > 应用 > docker >

docker三步快速部署oracle11gR1

docker 三步快速部署oracle11gr2


 1.下载容器镜像

docker pull registry.cn-hangzhou.aliyuncs.com/mycms5/oracle11g:1.1

2.创建容器
# 容器22端口映射到本地10022端口、容器1521映射到本地1521、主机名db、容器名db、-d后台运行
# D盘下oracle目录挂载到容器,这样容器的文件写shared目录,也就写到本地oracle目录

docker run --restart=always -p  10022:22 -p 1521:1521 --privileged --name db -h db -d -v /d/oracle:/shared  registry.cn-hangzhou.aliyuncs.com/mycms5/oracle11g:1.1  /usr/sbin/init


3.进入容器,oracle用户下环境变量也已配置好
docker exec -it db /bin/bash
 

 
# 以下的安装什么的,可以不看,可以只看上面。

1. 安装docker,配置共享目录

1). 安装docker

###################################################
对于Windows 10以下的用户,推荐使用Docker Toolbox
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
对于Windows 10以上的用户 推荐使用Docker for Windows
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/
###################################################
 
本文测试环境为window10 专业版,所以安装Docker for Windows。下载后,一步一步安装下去即可。
 
直接下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/beta/InstallDocker.msi


2). 共享本地目录到docker,已供容器使用




参考上图,与Docker for Windows共享本地驱动器(卷),以便它们可用于您的容器。
其他设置详见《Docker for Windows使用之Docker Settings》:https://912616.cn/app/docker/71.html

3).配置docker镜像加速器

阿里云提供免费的docker镜像加速器,比如我的:
{
  "registry-mirrors": ["https://yk9crw49.mirror.aliyuncs.com"]
}

docker daemon
 
右键docker图标,点击settings选项,打开docker daemon窗口,选择“Advanced”,然后复制进去,apply即可。

2. 创建使用docker容器

1). 部署镜像

这里是本人之前在docker下OracleLinux7容器里静默部署的Oracle 11g,默认实例名orcl,系统用户名oracle/用户密码oracle,主机名为db.
打开cmd窗口,依次执行以下窗口:
 
# 下载容器
C:UsersAdministrator> docker pull registry.cn-hangzhou.aliyuncs.com/mycms5/oracle11g:1.1
 
# 创建容器 (容器22端口映射到本地10022端口、容器1521映射到本地1521、主机名db、容器名db、-d后台运行、D盘下oracle目录挂载到容器,这样容器的文件写shared目录,也就写到本地oracle目录)
C:UsersAdministrator> docker run -p  10022:22 -p 1521:1521 --privileged --name db -h db -d -v /d/oracle:/shared  registry.cn-hangzhou.aliyuncs.com/mycms5/oracle11g:1.1  /usr/sbin/init

# 进入容器 执行sqlplus查询
C:UsersAdministrator> docker exec -it db /bin/bash
[root@db /]# su - oracle
Last login: Mon Dec  3 12:14:56 UTC 2018
[oracle@db ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 05-DEC-2018 07:32:55
Copyright (c) 1991, 2011, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                01-DEC-2018 06:46:46
Uptime                    4 days 0 hr. 46 min. 9 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/db/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@db ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Dec 5 07:34:42 2018
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select status from v$instance;
STATUS
------------
OPEN
 

2). plsql连接

安装plsql后,另外下载instantclient_11_2,解压放置C盘。修改C:instantclient_11_2 etworkdmin nsnames.ora,配置以下信息:
docker =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1 )(PORT = 1521))
    )
   (CONNECT_DATA =
 (SERVER = DEDICATED)
      (SERVICE_NAME = orcl )
    )        
 )   
配置plsql,工具-首选项-oracle-"连接"对话框里orace主目录名为C:instantclient_11_2、oci库路径为C:instantclient_11_2oci.dll.
 

3). 修改后保存为镜像

# 假如需要将修改后的容器db,提交保存为镜像,以便转移到其他机器上使用,可以commit提交
C:UsersAdministrator> docker commit -a "YuAN,912616.cn" -m "OracleLinux7,oracle11gR2" db oracle11gR2:1.1
 
 
------分隔线----------------------------
  • 收藏
  • 挑错
  • 推荐
  • 打印